laravel 8 crud operation with routes code example

Example 1: laravel crud tutorial

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Ticket;

class TicketController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $patients = Patient::where('user_id', auth()->user()->id)->get();
        
        return view('patients.index',compact('patients'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('patients.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $ticket = new Patient();
        $data = $this->validate($request, [
            'name'=>'required',
            'surname'=> 'required'
            'id_number'=> 'required'
        ]);
       
        $patient->savePatient($data);
        return redirect('/home')->with('success', 'New patient has been succesfully created');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $patient = Patient::where('user_id', auth()->user()->id)
                        ->where('id', $id)
                        ->first();

        return view('patients.edit', compact('patient', 'id'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $patient = new Patient();
        $data = $this->validate($request, [
            'name'=>'required',
            'surname'=> 'required'
            'id_number'=> 'required'
        ]);
        $data['id'] = $id;
        $patient->updatePatient($data);

        return redirect('/home')->with('success', 'Patient Information was updated succesfully');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $patient = Patient::find($id);
        $patient->delete();

        return redirect('/home')->with('success', 'The patient has been deleted!!');
    }
}

Example 2: laravel crud tutorial

@extends('layouts.app')

@section('content')
<div class="container">
    <table class="table table-striped">
        <thead>
            <tr>
              <td>ID</td>
              <td>Title</td>
              <td>Description</td>
              <td colspan="2">Action</td>
            </tr>
        </thead>
        <tbody>
            @foreach($patients as $patient)
            <tr>
                <td>{{$ticket->id}}</td>
                <td>{{$ticket->name}}</td>
                <td>{{$ticket->surname}}</td>
                <td><a href="{{action(PatientController@edit',$patient->id)}}" class="btn btn-primary">Edit</a></td>
                <td>
                    <form action="{{action('PatientController@destroy', $patient->id)}}" method="post">
                    {{csrf_field()}}
                    <input name="_method" type="hidden" value="DELETE">
                    <button class="btn btn-danger" type="submit">Delete</button>
                    </form>
                </td>
            </tr>
            @endforeach
        </tbody>
    </table>
<div>
@endsection