Rune188
Messages postés65Date d'inscriptionlundi 20 février 2017StatutMembreDernière intervention29 janvier 2024
-
30 août 2022 à 17:46
Rune188
Messages postés65Date d'inscriptionlundi 20 février 2017StatutMembreDernière intervention29 janvier 2024
-
1 sept. 2022 à 14:27
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 */publicfunctionindex(){$users= User::latest()->paginate(5);returnview('users.index',compact('users'))->with('i',(request()->input('page',1)-1)*5);}/** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */publicfunctioncreate(){returnview('users.create');}/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */publicfunctionstore(Request $request){$request->validate(['name'=>'required','email'=>'required',]);
User::create($request->all());returnredirect()->route('users.index')->with('success','user created successfully.');}/** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */publicfunctionshow($id){returnview('users.show',compact('user'));}/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */publicfunctionedit($id){returnview('users.edit',compact('user'));}/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */publicfunctionupdate(Request $request,$id){$request->validate(['name'=>'required','email'=>'required',]);
User::create($request->all());returnredirect()->route('users.index')->with('success','user updated successfully.');}/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */publicfunctiondestroy($id){$user->delete();returnredirect()->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:
Dans les méthodes show ou edit, il faut définir la variable $user avant de la transmettre à la vue avec compact (comme dans la méthode index avec $users).
Rune188
Messages postés65Date d'inscriptionlundi 20 février 2017StatutMembreDernière intervention29 janvier 2024 1 sept. 2022 à 14:27
1 sept. 2022 à 14:27
ok sa fonctionne
Merci :)
Je passe en résolu