Laravel: variable non définie
Résolu
Rune188
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
Rune188 Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
Rune188 Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travail sur un site web et je débute dans l'utilisation de laravel 9.
J'essaye de créé un CRUD afin de gérer les utilisateurs inscrit avec Breeze.
Quand j'essaye de modifier ou supprimer un utilisateur j'obtient le message suivant:
Voici mon controlleur:
<?php namespace App\Http\Controllers; use App\Models\User; use Illuminate\Http\Request; class UserController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $users = User::latest()->paginate(5); return view('users.index',compact('users')) ->with('i',(request()->input('page',1)-1)*5); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('users.create'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'name'=>'required', 'email'=>'required', ]); User::create($request->all()); return redirect()->route('users.index') ->with('success','user created successfully.'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { return view('users.show',compact('user')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { return view('users.edit',compact('user')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $request->validate([ 'name'=>'required', 'email'=>'required', ]); User::create($request->all()); return redirect()->route('users.index') ->with('success','user updated successfully.'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $user->delete(); return redirect()->route('users.index') ->with('success','user deleted successfully.'); } }
Et mon Modèle:
<?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; /** * The attributes that are mass assignable. * * @var array<int, string> */ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var array<int, string> */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array<string, string> */ protected $casts = [ 'email_verified_at' => 'datetime', ]; }
Et la vue utilisée afin de modifier les informations d'un utilisateur:
@extends('home') @section('content') <div class="row"> <div class="col-lg-12 margin-tb"> <div class="pull-left"> <h2>Edit user</h2> </div> <div class="pull-right"> <a class="btn btn-primary" href="{{ route('users.index') }}"> Back</a> </div> </div> </div> @if ($errors->any()) <div class="alert alert-danger"> <strong>Whoops!</strong> There were some problems with your input.<br><br> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <form action="{{ route('users.update',$user->id) }}" method="POST"> @csrf @method('PUT') <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Name:</strong> <input type="text" name="name" value="{{ $user->name }}" class="form-control" placeholder="Name"> </div> </div> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Email:</strong> <input type="text" name="email" value="{{ $user->email }}" class="form-control" placeholder="Email"> </div> </div> <div class="col-xs-12 col-sm-12 col-md-12 text-center"> <button type="submit" class="btn btn-primary">Submit</button> </div> </div> </form> @endsection
ok sa fonctionne
Merci :)
Je passe en résolu