AUTH : Setting Halaman Register dan Tabel Users untuk Multiuser| PART II

Barintek
0

     Standar users yang terdapat di dalam database terdiri dari field, yaitu id, name, email hingga update_at. Anda bisa melihatnya dengan membuka database dan cari tabel users yang otomatis dibuat oleh laravel ketika anda melakukan migrate. Sedangkan untuk Role atau foto users tidak diberikan. Ini dilakukan oleh laravel karena laravel di desain dengan konsep starter kit yang minimalis. Tapi kita dapat menambahakn field tambahan ke dalam tabel users tersebut.

    Field yang kita tambah adalah field role yang mengidentifikasi user yang masuk sehingga kita bisa memberikan hak izin untuk mengakses dashboard. Sedangkan gambar/foto berguna untuk menampilkan foto user yang login.


Menambah Kolom Tabel Users

    Kita akan menambahkan field role dan photo ke kolom tabel users. Silahkan buka terminal di vsCode. Kita bisa menambahkan field baru atau akan hapus tabel lama dan menggantinya. Jika anda ingin menimpali dengan field baru silahkan ketikkan perintah ini:

php artisan make:migration add_role_and_photo_to_users_table --table=users

        Kemudian buka database/migration dan edit  pada up seperti ini:

{
    Schema::table('users', function (Blueprint $table) {
        $table->string('role')->default('user');
        $table->string('photo')->nullable();
    });
}

/**
 * Reverse the migrations.
 */
public function down(): void
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropColumn('role');
        $table->dropColumn('photo');
    });
}


    Jika anda benar-benar ingin menghapusnya dengan resiko data yang ada di dalam tabel juga ikut terhapus maka anda dapat ketikkan perintah ini:

php artisan make:migration drop_users_table

   Kemudian edit file-nya:

public function up(): void
{
    Schema::dropIfExists('users');
}
public function down(): void
{
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

Jalankan perintah 

php artisan migrate

    Otomatis tabel terhapus/field tabel users bertambah jika anda melakukan langkah pertama tadi.

 Buka App/Model, cari field User.php. Tambahkan code seperti berikut:

protected $fillable = [
    'email',
    'password',
    'role', // Tambahkan
    'photo', // Tambahkan
];

    Jika anda menghapus tabel users, maka anda perlu masuk ke migration dan buka users_table. Edit scema seperti berikut:

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->unique();
    $table->timestamp('email_verified_at')->nullable();
    $table->string('role')->default('user');
    $table->string('foto')->nullValue();
    $table->string('password');
    $table->rememberToken();
    $table->timestamps();
});

Hapus migrate field dorp_users_table.php yang ada dalam migrations tadi. Kemudian buka phpMyadmin, cari database agenda dan buka tabel migrations. Hapus record users dan drop tabel.


Terakhir lakukan kembali migrate untuk membuat tabel users. Jika terdapat pesan eror, abaikan saja. Ini karena tabel password Reset Token kita sudah ada. Anda bisa kembali cek di tabel users sudah terdapat kolom untuk role dan gambar. 


Setting Registrasi Breeze.

Setting UI


Tags

Posting Komentar

0Komentar

Posting Komentar (0)