13. Controller & Model - mzm-dev/laravel-latihan GitHub Wiki
Generate Controller & Generate Model jika belum wujud
php artisan make:controller JawatanController --resource --model=Jawatan
//app\Http\Controllers\JawatanController.php
//app\Models\Jawatan.php
php artisan make:controller JabatanController --resource --model=Jabatan
//app\Http\Controllers\JabatanController.php
//app\Models\Jabatan.php
//app\Http\Controllers\JawatanController.php
--resource adalah untuk jana function untuk CRUD
Contoh Kod Controller yang di jana
<?php
namespace App\Http\Controllers;
use App\Models\Jabatan;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
class JabatanController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
}
/**
* Display the specified resource.
*
* @param \App\Models\Jabatan $jabatan
* @return \Illuminate\Http\Response
*/
public function show(Jabatan $jabatan)
{
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\Jabatan $jabatan
* @return \Illuminate\Http\Response
*/
public function edit(Jabatan $jabatan)
{
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Jabatan $jabatan
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Jabatan $jabatan)
{
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Jabatan $jawatan
* @return \Illuminate\Http\Response
*/
public function destroy(Jabatan $jabatan)
{
}
}
Contoh Model yang dijana
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Jabatan extends Model
{
use HasFactory;
}
TIPS MODEL:
- Define nama table bagi setiap Model (abaikan jika guna nama table dalam english & plurals cth: users)
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'pegawai';
- Define PK (Primary Key) bagi setiap table (abaikan jika guna PK digunakan dengan label 'id')
/**
* The primary key associated with the table.
*
* @var string
*/
protected $primaryKey = 'id';
- Senarai semua column yang terdapat di dalam table bagi tujuan simpan.
Jika terdapat column yang tidak di senaraikan, value input form tidak dimasukkan ke dalam table.
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['nama', 'nokp', 'no_tel_pejabat'];