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:

  1. 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';
  1. 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';
  1. 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'];