Boilerplate Laravel 9: Membuat User Profile & Seed

membuat user profile & seed di laravel

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.


Tutorial Selanjutnya - Membuat CRUD User Profile

LihatTutupKomentar