MWI – Sesuai dengan soal di materi ini kita akan menjawab dengan Laravel versi 7 dan sudah dijawab dengan video disini. Sekarang menggunakan materi sebelumnya kita lanjutkan jawaban untuk table Peserta Didik.
Langkah awal buat migration untuk tabel peserta dengan perintah
php artisan make:migration create_table_peserta_didik
Edit bagian up dan down
public function up()
{
Schema::create('peserta', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('gender');
$table->unsignedBigInteger('jurusan_id');
$table->string('asalsekolah');
$table->string('tempatlahir');
$table->string('tanggallahir');
$table->timestamps();
$table->foreign('jurusan_id')->references('id')->on('jurusan')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('peserta');
}
Lanjutkan dengan perintah
php artisan migrate
jika hasilnya
Migrating: 2020_08_29_025655_peserta_didik
Migrated: 2020_08_29_025655_peserta_didik (2.52 seconds)
berarti sudah benar, coba cek di PHPMyAdmin apah sesuai dengan yang diharapkan, misal milik saya sudah muncul kolom paada tabel peserta seperti gambar
Lanjutkan dengan membuka web.php dan tambahkan
Route::resource('peserta', 'PesertaController');
Untuk memudahkan akses dari awal, buka file welcome.blade.php dan tambahkan link untuk peserta seperti ini
Lanjutkan dengan membuat controller dan model, berikan perintah di terminal (CMD) dengan perintah:
php artisan make:controller PesertaController --resource --model=Peserta
jika muncul pemberitahuan untuk membuat model, silahkan jawab yes seperti dibawah ini
A App\Peserta model does not exist. Do you want to generate it? (yes/no) [yes]:
yes
Model created successfully.
Controller created successfully.
Lanjutkan dengan membuat isian untuk file model Peserta.php yang ada di folder App/Peserta.php dan ubah pada bagian (jika belum muncul, jangan lupa refresh dahulu)
protected $table = "peserta";
protected $fillable = [
'nama', 'gender', 'jurusan_id', 'asalsekolah', 'tempatlahir', 'tanggallahir'
];
Lanjutkan dengan memperbaiki bagian Controller-nya
kita kerjakan untuk fungsi index terlebih dahulu
public function index()
{
$peserta = Peserta::latest()->paginate(5);
return view('peserta.index', compact('peserta'))->with('i', (request()->input('page', 1) - 1) * 5);
}