Operasi CRUD (Create Read Update Delete) pada Laravel Part 1

crud laravel part1

Membuat Model

pada artikel sebelumnya kita telah membuat database, melakukan migrasi dan melakukan seeding, pada artikel berikut akan dijelaskan mengenai pembuatan model pada laravel. untuk membuat model pada laravel menggunakan perintah


php artisan make:model model/Mahasiswa
dengan mengeksekusi perintah diatas pada cmd maka akan bertambah sebuah folder model dan file dengan nama Mahasiswa.php (model/Mahasiswa.php) pada file tersebut akan dibuatkan coding seperti berikut :

namespace App\model;

use Illuminate\Database\Eloquent\Model;

class Mahasiswa extends Model
{
    //
}

kita juga dapat menggunakan seeding dengan menggunakan model, silahkan modifikasi code diatas menjadi seperti berikut :


namespace App\model;

use Illuminate\Database\Eloquent\Model;

class Mahasiswa extends Model
{
    protected $table = "mahasiswa";
}

kemudian pada file MahasiswaTableSeeder.php ubah menjadi seperti berikut :

use App\model\Mahasiswa;
use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class MahasiswaTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $mhs = new Mahasiswa();
        $mhs->nim = "1209007";
        $mhs->nama = "Bagus";
        $mhs->prodi = "Komputer Akuntansi";
        $mhs->created_at = Carbon::now()->format('Y-m-d H:i:s');
        $mhs->updated_at = Carbon::now()->format('Y-m-d H:i:s');
        $mhs->save();
    }
}

eksekusi kembali perintah php artisan db:seed jika berhasi akan bertambah sebuag record baru pada tabel mahasiswa.

CRUD Table Mahasiswa

tambahkan terlebih dahulu sebuah controller mahasiswa dengan perintah 

php artisan make:controller MahasiswaController --resource

silahkan buka file controller/MahasiswaController.php maka isinya sebagai berikut:


namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MahasiswaController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

langkah berikutnya kita akan membuat route pada file routes/web.php tambahkan baris seperti berikut ini :

Route::group(["prefix" => "mhs", "as" => "mhs."], function () {
    Route::get("/mahasiswa/tambah", ["uses" => "MahasiswaController@tambah", "as" => "tambah"]);
    Route::post("/mahasiswa/simpan", ["uses" => "MahasiswaController@simpan", "as" => "simpan",]);
    Route::get("/mahasiswa/all", "MahasiswaController@index");
    Route::get("/mahasiswa/{id}/delete", "MahasiswaController@delete");
    Route::get("/mahasiswa /{id}/ubah", "MahasiswaController@restore");
});
silahkan akses route yang sudah dibuat pastikan dapat diakses pada browser, misalkan kita akan mengakses "/mahasiswa/all" berarti di url browser kita masukan :

http://localhost/[nama_project]/public/mhs/mahasiswa/all
http://localhost/[nama_project]/public/mhs/mahasiswa/searchhttp://localhost/[nama_project]/public/mhs/mahasiswa/1/deletehttp://localhost/[nama_project]/public/mhs/mahasiswa/1/restore

jika kita perhatikan pada route diatas terdapat sebuha prefix mhs,maksudnya adalah untuk mengakses url di browser harus diawali dengan /mhs.

Menampilkan Data

untuk menampilkan data pada tabel mahasiswa kita akan menggunakan fungsi index() pada MahasiswaController, untuk itu kita akan modifikasi file tersebut seperti ini :
public function index()
   
 public function index()
 {
        return \App\Model\Mahasiswa::all();
 }
kira-kira outputnya seperti berikut :