Kembali lagi di tutorial laravel media-info, kali ini kita akan membuat Membuat User Profile & Seed.
Tutorial Sebelumnya - Boilerplate Laravel 8: Relasi Tag Dan Post
Sebelumnya kita sudah mempunyai user dari bawaan laravelnya, di tutorial kali ini kita akan membuat profile user seperti gambar dan lainnya. Sedangkan seed untuk menambahkan user ke db kita karna ketika di migrasi maka user akan kosong, lebih jelasnya kita mulai tutorial laravel Membuat User Profile & Seed.
Pertama kita akan membuat model & migrasi profile, tapi sebelumnya kita edit dlu file .._create_user_table.php di dalam folder database/migrations kita akan menambahkan kolom admin untuk hak akses kedepannya, lihat script dibawah.
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->boolean('admin')->default(0);
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
Membuat model profile
Buka cmd dan masuk ke folder project kalian, ketikan code di bawah
C:xampp/htdocs/blog>php artisan make:model Profile -m
Maka otomatis akan membuat file model dan migrasi, silahkan buka file migrasi yg tdi di buat di dalam folder database/migration dan tambahkan field seperti dibawa ini
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProfilesTable extends Migration
{
public function up()
{
Schema::create('profiles', function (Blueprint $table) {
$table->increments('id');
$table->string('avatar')->nullable();
$table->integer('user_id');
$table->text('about')->nullable();
$table->string('facebook')->nullable();
$table->string('youtube')->nullable();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('profiles');
}
}
Selanjutnya silahkan edit file Profile.php dan User.php di dalam folder app yang tadi sudah di buat. lihat script dibawah
Profile.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Profile extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
protected $fillable = ['user_id', 'avatar', 'youtube', 'facebook', 'about'];
}
User.php
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name', 'email', 'password', 'admin'
];
protected $hidden = [
'password', 'remember_token',
];
public function profile(){
return $this->hasOne('App\Profile');
}
}
Sebelum ke tampilannya kita buat dlu seed untuk user.
Membuat seed user
sebelumnya buat dlu folder upload untuk avatar serta masukan contoh gambar untuk user
C:\xampp\htdocs\blog\uploads> mkdir avatars
cara membuat seeder yaitu dengan printah dibawah.
C:\xampp\htdocs\blog> php artisan make:seeder UserTableSeeder.php
maka akan ada file UserTableSeeder.php di dalam folder database/seeds, silahkan edit seperti dibawah ini.
<?php
use Illuminate\Database\Seeder;
class UserTableSeeder extends Seeder
{
public function run()
{
$user = App\User::create([
'name' => 'admin',
'email' => 'admin@gmail.com',
'password' => bcrypt('admin'),
'admin' => 1
]);
App\Profile::create([
'user_id' => $user->id,
'avatar' => 'uploads/avatars/anjas.jpg',
'about' => 'tes tes',
'facebook' => 'facebook.com',
'youtube' => 'youtube.com'
]);
}
}
setelah itu edit juga file DatabaseSeeder.php di dalam folder database/seeds
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call(UserTableSeeder::class);
}
}
jika sudah selesai kita lanjut untuk mencobanya dengan printah di bawah ini
C:\xampp\htdocs\blog> php artisan migrate:refresh
C:\xampp\htdocs\blog> php artisan db:seed
maka akan ada tabel profile dan data user yg tdi di seeder. selanjutnya kita akan membuat CRUD User pada tutorial selanjunya.
Sekian untuk tutorial Boilerplate Laravel 9 : Membuat User Profile & Seed terimakasih, semoga bermanfaat.