Belajar Laravel Pemula Bagian 4


Belajar Laravel Pemula Bagian 4

Tutorial ini saya kutip dan pelajari dari channel youtube Web Programming Unpas, jangan lupa untuk Subscribe channel Web Programming Unpas karena sangat membantu teman-teman dalam mempelajari web programming.

Adapun video Web Progamming Unpas berikut sebagai acuan dalam tuturial kali ini





1. Pada students/show.blade.php set tombol delete sbb 

 
2.  Tambahkan Route untuk delete pada web.php sbb

3. Pada  controller StudentsController.php method destroy tambahkan sbb


4. Pada students/show.blade.php set tombol edit sbb 



5. Tambahkan Route untuk edit pada web.php sbb

6. Pada  controller StudentsController.php method edit tambahkan sbb

 7. buat view edit.blade.php pada folder student 

isi sbb
@extends('layout/main')
@section('title', 'Form Ubah Data Mahasiswa')
    
@section('container')
<div class="container">
    <div class="row">
        <div class="col-8">
            <h1 class="mt-3">Form Ubah Data Mahasiswa</h1>
<form method="post" action="/students/{{$student->id}}">
    @method('patch')
    @csrf
  <div class="form-group">
    <label for="nama">Nama</label>
    <input type="text" class="form-control"
     id="nama"
    placeholder="Masukan Nama" name="nama" value="{{$student->nama}}">
  </div> 
  <div class="form-group">
    <label for="nrp">NRP</label>
    <input type="text" class="form-control" id="nrp"
   placeholder="Masukan nrp" name="nrp" value="{{$student->nrp}}">
  </div> 
   <div class="form-group">
    <label for="email">Email</label>
    <input type="text" class="form-control" id="email"
   placeholder="Masukan email" name="email" value="{{$student->email}}">
  </div>
   <div class="form-group">
    <label for="jurusan">Jurusan</label>
    <input type="text" class="form-control" id="jurusan"
   placeholder="Masukan jurusan" name="jurusan" value="{{$student->jurusan}}">
  </div> 
  <button type="submit" class="btn btn-primary">Ubah Data</button>
</form>
     
        </div>
    </div>
 </div>
 @endsection
8. Tambahkan Route untuk update pada web.php sbb


9. set method update di studentcontroller
<?php
namespace App\Http\Controllers;
use App\Student;
use Illuminate\Http\Request;
class StudentsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $students = Student::all();
        return view('students.index', compact('students'));
    }
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view ('students.create');
    }
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        // $student = new Student;
        // $student->nama = $request->nama;
        // $student->nrp = $request->nrp;
        // $student->email = $request->email;
        // $student->jurusan = $request->jurusan;
        // $student->save();
        // Student::create([
        //     'nama' => $request->nama,
        //     'nrp' => $request->nrp,
        //     'email' => $request->email,
        //     'jurusan' => $request->jurusan,
        // ]);
        // $request->validate([
        // 'nama' => 'required|unique:posts|max:255',
        // 'nrp' => 'required|max:9',
        // 'email' => 'required',
        // 'jurusan' => 'required',
        // ]);
        Student::create($request->all());
        return redirect('/students')->with('status', 'Data Mahasiswa Berhasil Ditambahkan!');
        
    }
    /**
     * Display the specified resource.
     *
     * @param  \App\Student  $student
     * @return \Illuminate\Http\Response
     */
    public function show(Student $student)
    {
        return view ('students.show', compact('student'));
    }
    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Student  $student
     * @return \Illuminate\Http\Response
     */
    public function edit(Student $student)
    {
        return view('students.edit', compact('student'));
    }
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Student  $student
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, Student $student)
    {
        
        $request->validate([
        'nama' => 'required',
        'nrp' => 'required|max:9',
        ]);
        Student::where('id', $student->id)
        ->update([
            'nama' => $request->nama,
            'nrp' => $request->nrp,
            'email' => $request->email,
            'jurusan' => $request->jurusan,
            ]);
            return redirect('/students')->with('status', 'Data Mahasiswa Berhasil diubah');
    }
    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Student  $student
     * @return \Illuminate\Http\Response
     */
    public function destroy(Student $student)
    {
        Student::destroy($student->id);
        return redirect('/students')->with('status', 'Data Mahasiswa Berhasil dihapus');
        
    }
}


Hasil