Setting Role User

Untuk membuat table di laravel kita bisa menggunakan yang namanya migrations, untuk lebih jelasnya bisa dibaca dulu di https://laravel.com/docs/5.8/migrations#introduction.

Setelah database dibuat, selanjutnya adalah membuat migrations untuk masing-masing table. Lokasi migrations ada di dalam folder database -> migrations. Migrations biasanya secara bawaan membuat nama tablenya dengan nama plural/jamak dalam bahasa inggris, jadi biasanya diakhiri dengan huruf 's'. Sebagai contoh, table users adalah hasil dari migrations yang dibuat saat kita membuat authentication pada tutorial sebelumnya.

# Migration users

Sekarang kita fokus ke migrations yang belakangnya ada tulisan create_users_table.php, kita akan menyesuaikan field2nya sesuai dengan kebutuhan kita. Jadi langsung saja, buka file migrations yang belakangnya create_users_table.php (karena angka di depannya beda2, dibuat otomatis berdasarkan waktu kita membuat migrations tersebut) kemudian edit seperti di bawah ini.

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->string('phone');//no tlp
            $table->text('alamat')->nullable();//alamat
            $table->string('role')->default('member');//member non admin
            $table->string('foto')->nullable();//foto profil
            $table->string('status')->default('aktif');//aktif atau non aktif, customer bisa kita nonaktifkan tanpa menghapus datanya
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Pada skrip di atas, kita mengubah dan menambahkan beberapa field diantaranya :

  • phone : kita gunakan untuk menyimpan no tlp typenya varchar, soal string, increment dll bisa dibaca di dokumentasinya (https://laravel.com/docs/5.8/migrations#introduction)
  • alamat : kita gunakan untuk menyimpan alamat typenya text
  • role : kita gunakan untuk menyimpan keterangan dia sebagai admin atau member (customer)
  • foto : kita gunakan untuk menyimpan link ke foto profilnya

# Model User

Setelah kita mengedit migrations, jangan lupa untuk mengedit modelnya. Model adalah file yang akan menjembatani interaksi kita dengan table di database. Sebagai contoh, kita akan melakukan input data ke table users maka kita membuat file model dengan nama User.php biar lebih mudah mengingatnya. Karena model User sudah dibuat secara otomatis saat membuat authentication, maka sekarang kita cukup mengeditnya aja biar sesuai dengan migration yang barusan kita buat.

Lokasi file model ada di dalam folder app, cari dan buka file User.php kemudian kita edit seperti berikut pada bagian fillable-nya.

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

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

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

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
}

Kalau sudah, langsung kita simpan saja.

# Migrate

Kalau migration dan model sudah selesai kita edit, sekarang kita migrate (istilah untuk mengubah migrations menjadi table) dengan membuat terminal dan jalankan perintah berikut.

php artisan migrate

Prosesnya akan tampak seperti berikut.

Untuk migrate ada beberapa command atau perintah yang lainnya seperti

php artisan migrate:rollback

*Untuk menarik migrations yang barusan kita buat (otomatis menghapus table yang barusan dibuat)

php artisan migrate:refresh

*Untuk menjalankan migrate kembali setelah dilakukan kita mengedit file migrationsnya. Semisal kita menghapus atau menambahkan field maka kita harus menjalankan perintah tersebut untuk mengubah table di database.

Untuk setting role user sampai disini, pada tutorial selanjutnya kita akan berkenalan dengan yang namanya seeder (https://laravel.com/docs/5.8/seeding#introduction)

 

Mau Bikin Aplikasi Web & Aplikasi Android?

Saya membuka jasa pembuatan aplikasi web dan android untuk aplikasi seperti toko online, monitoring (IoT), interface mesin absensi atau kasir

Silahkan kontak link di bawah ini untuk teknis dan harganya