Project Baru
Project Baru
9. Migrasikan Database
php artisan migrate
Silahkan Baca Modul AdminLTE Sebelumnya. Buat Crud Untuk Tabel Users.
Untuk Tabel Dosen, Mahasiswa Dan Matakuliah Dimateri Selanjutnya.
[
'text' => 'Dosen',
'url' => '/dosen',
'icon' => 'fa fa-user',
],
[
'text' => 'Mahasiswa',
'url' => '/mahasiswa',
'icon' => 'fa fa-user-graduate',
],
[
'text' => 'Mata Kuliah',
'url' => '/matakuliah',
'icon' => 'fa fa-book-open',
],
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
}
15. Buat Rute Users
Route::resource('users', \App\Http\Controllers\
UserController::class)
->middleware('auth');
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
26. Edit file controller mahasiswa untuk Read Data View Index
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Mahasiswa;
}
27. Buat view untuk index mahasiswa
@extends('adminlte::page')
@section('title', 'List Mahasiswa')
@section('content_header')
<h1 class="m-0 text-dark">Data Mahasiswa</h1>
@stop
@section('content')
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<a href="{{route('mahasiswa.create')}}"
class="btn btn-primary mb-2">
Tambah
</a>
<table class="table table-hover table-bordered
table-stripped" id="example2">
<thead>
<tr>
<th>No.</th>
<th>Nama</th>
<th>Nim</th>
<th>No HP</th>
<th>Email</th>
<th>Alamat</th>
<th>Opsi</th>
</tr>
</thead>
<tbody>
@foreach($mahasiswas as $key => $mahasiswa)
<tr>
<td>{{$key+1}}</td>
<td>{{$mahasiswa->nama}}</td>
<td>{{$mahasiswa->nim}}</td>
<td>{{$mahasiswa->no_hp}}</td>
<td>{{$mahasiswa->email}}</td>
<td>{{$mahasiswa->alamat}}</td>
<td>
<a href="{{route('mahasiswa.edit',
$mahasiswa)}}" class="btn btn-primary btn-xs">
Edit
</a>
<a href="{{route('mahasiswa.destroy',
$mahasiswa)}}" onclick="notificationBeforeDelete(event, this)"
class="btn btn-danger btn-xs">
Delete
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
@stop
@push('js')
<form action="" id="delete-form" method="post">
@method('delete')
@csrf
</form>
<script>
$('#example2').DataTable({
"responsive": true,
});
function notificationBeforeDelete(event, el) {
event.preventDefault();
if (confirm('Apakah anda yakin akan menghapus data ? '))
{
$("#delete-form").attr('action', $(el).attr('href'));
$("#delete-form").submit();
}
}
</script>
@endpush
28. Membuat Menu Edit
Tambahkan koding berikut di controller mahasiswa
public function edit($id)
{
$mahasiswa = Mahasiswa::find($id);
if (!$mahasiswa) return redirect()->route('mahasiswa.index')
->with('error_message', 'Mahasiswa dengan id'.$id.' tidak
ditemukan');
return view('mahasiswa.edit', [
'mahasiswa' => $mahasiswa
]);
}
public function update(Request $request, $id)
{
$mahasiswa = Mahasiswa::findOrFail($id);
$mahasiswa->update([
'nama' => $request->nama,
'nim' => $request->nim,
'no_hp' => $request->no_hp,
'email' => $request->email,
'alamat' => $request->alamat
]);
return redirect()->route('mahasiswa.index')->with(['success' =>
'Data Berhasil Diubah!']);
}
$mahasiswa = Mahasiswa::findOrFail($id);
$mahasiswa->delete();
return redirect()->route('mahasiswa.index')->with(['success' =>
'Data Berhasil Dihapus!']);
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\Mahasiswa;
$mahasiswa->update([
'nama' => $request->nama,
'nim' => $request->nim,
'no_hp' => $request->no_hp,
'email' => $request->email,
'alamat' => $request->alamat
]);
return redirect()->route('mahasiswa.index')-
>with(['success' => 'Data Berhasil Diubah!']);
}
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\Dosen;
$dosen->update([
'nama' => $request->nama,
'nidn' => $request->nidn,
'status' => $request->status,
'email' => $request->email,
'alamat' => $request->alamat
]);
return redirect()->route('dosen.index')->with(['success' =>
'Data Berhasil Diubah!']);
}
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\Matakuliah;
]);
//redirect to index
return redirect()->route('matakuliah.index')-
>with(['success' => 'Data Berhasil Disimpan!']);
$matakuliah = Matakuliah::findOrFail($id);
$matakuliah->delete();
return redirect()->route('matakuliah.index')-
>with(['success' => 'Data Berhasil Dihapus!']);
}
49. Lanjutan
50. Buat query tabel dosen dengan matakuliah
51. Tambahkan field id_dosen di table matakuliah (bisa manual bisa
artisan)
52. Edit ulang file model matakuliah dan dosen untuk membuat
relasi
53. Custum ulang CRUD matakuliah