CRUD Laravel 5

Halo, kali ini kita akan membuat sebuah aplikasi CRUD sederhana. Sebagai contoh kita akan membuat aplikasi crud untuk data kecamatan dan desa. Kita akan menggunakan laravel 5.4 dengan beberapa package, yaitu laravelcollective untuk membuat form dan zizaco/entrust untuk sistem loginnya.

Sekarang kita buat dulu folder project dengan nama “simplecrud” dulu.

laravel new simplecrud
Buat project menggunakan laravel installer

Folder project selesai dibuat, selanjutnya kita edit file .env dan kita sesuaikan database yang akan kita gunakan.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=namadatabase
DB_USERNAME=username
DB_PASSWORD=password

Kemudian kita sesuaikan nama aplikasi kita pada file config/app.php

'name' => env('APP_NAME', 'Simple CRUD'),

Setelah setting koneksi database selesai, selanjutnya adalah install package yang dibutuhkan.

Laravelcollective

pertama kita akan menginstall laravelcollective dengan versi terbaru. Untuk dokumentasi bisa dilihat disini https://laravelcollective.com/docs/5.4/html.

composer require laravelcollective/html
Install Laravelcollective versi terbaru

Selanjutnya tambahkan provider baru ke providers array didalam config/app.php seperti berikut :

'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
  ],

Terakhir tambahkan 2 alias ke aliases di dalam folder config/app.php seperti berikut :

'aliases' => [
    // ...
      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,
    // ...
  ],

Sampai disini berarti laravelcollective sudah siap digunakan, selanjutnya adalah install package zizaco/entrust.

Zizaco/Entrust

Package Zizaco/Entrust kita gunakan untuk membuat sistem login untuk aplikasi yang kita buat, mudahnya package ini kita gunakan untuk membedakan user yang mempunyai hak akses (role) admin dan tidak. Untuk dokumentasinya silahkan buka disini https://github.com/Zizaco/entrust

composer require zizaco/entrust

Kemudian buka lagi config/app.php dan tambahkan provider ke providers array.

Zizaco\Entrust\EntrustServiceProvider::class,

masih di dalam file app.php tambahkan alias ke aliases array.

'Entrust'   => Zizaco\Entrust\EntrustFacade::class,

Selanjutnya jalankan command berikut untuk menambahkan entrust.php ke dalam folder config.

php artisan vendor:publish

Buka config/auth.php dan ubah providers menjadi seperti berikut :

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => Namespace\Of\Your\User\Model\User::class,
        'table' => 'users',
    ],
],

Selanjutnya buka app/Http/Kernel.php pada bagian routeMiddleware array tambahkan 3 baris array berikut :

'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,

Terakhir kita buat migration untuk zizaco/entrust tersebut lewat console atau terminal.

php artisan entrust:migration

Setelah setting untuk zizaco/entrust selesai selanjutnya kita buat 2 model untuk Role dan Permission lewat terminal.

php artisan make:model Role
php artisan make:model Permission

Kita edit 2 model tersebut menjadi seperti berikut :

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Zizaco\Entrust\EntrustRole;

class Role extends EntrustRole
{
    //
}
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Zizaco\Entrust\EntrustPermission;

class Permission extends EntrustPermission
{
    //
}

Terakhir edit model User.php dan tambahkan EntrustUserTrait sehingga menjadi seperti berikut :

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Zizaco\Entrust\Traits\EntrustUserTrait;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable,EntrustUserTrait;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
}

Oke, tahap pertama untuk setting entrust/zizaco dan laravel collective sudah selesai. Sekarang kita migrate semua migration yang ada

php artisan migrate

Dan jalankan aplikasinya

php artisan serve
Homepage Simple CRUD

CRUD LARAVEL (simplecrud)

  1. Create project dan install package
  2. Sistem otentikasi laravel 5 menggunakan zizaco/entrust
  3. Migration, model, controller dan template laravel 5
  4. Controller Resource
  5. Deploy Laravel ke Layanan Hosting

File project bisa dilihat di https://github.com/fadlur/laravel-simplecrud

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.