Rabu, 02 Februari 2022

Mengubah nama tabel default spatie di laravel 8

 Jadi ceritanya gini, awalnya aku sudah buat aplikasi di kantor menggunakan laravel, dan manajemen user role & permissionya menggunakan spatie. Di awal emang untuk usernya menggunakan email & password. Kemudian setelah sekian lama terbentuk database karyawan, sehingga perlu merubah yang awalnya usernya menggunakan email, kemudian dirubah menjadi password, sedangkan sudah banyak permisson & role yang sudah aku buat. Jadi yang perlu dirubah adalah cuman tabel user, model_has_role, dan model_has_permission. Pertanyaanya dimana ya cara merubah nama tabelnya ?

Untuk tabel user mudah sekali ditemukan kita cukup pergi ke model user kemudian tambahkan protected tabelnya

class User extends Authenticatable
{
    use HasFactory, Notifiable, HasRoles, HasPermissions;
    protected $table = 'user2s';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name',
        'image',
        'email',
        'password',

Contoh di atas misal nama tabel yg sebelumnya adalah user, saya rubah menjadi user2s

Kemudian untuk settingan yang 2 tabel lainnya ada di folder config->permission

  'permissions' => 'permissions',

        /*
         * When using the "HasPermissions" trait from this package, we need to know which
         * table should be used to retrieve your models permissions. We have chosen a
         * basic default value but you may easily change it to any table you like.
         */

        'model_has_permissions' => 'model_has_permission2s',

        /*
         * When using the "HasRoles" trait from this package, we need to know which
         * table should be used to retrieve your models roles. We have chosen a
         * basic default value but you may easily change it to any table you like.
         */

        'model_has_roles' => 'model_has_role2s',

        /*
         * When using the "HasRoles" trait from this package, we need to know which
         * table should be used to retrieve your roles permissions. We have chosen a
         * basic default value but you may easily change it to any table you like.
         */

        'role_has_permissions' => 'role_has_permissions',

terlihat aku hanya merubah nama tabel model_has_permission dan model_has_role,, jadi ak gak perlu repot-repot setting role dan permission baru.

Tidak ada komentar:

Posting Komentar