Bonjour à tous,
Etant débutant dans Laravel, je suis confronté à des tutos expliquant par exemple comment insérer les données de formulaire dans une bdd.
1er cas:
Directement dans le controlleur avec la méthode "nouveau"
Second cas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public function nouveau() { // Validation des données request()->validate([ 'category' => ['required'], ]); // Création d'un message dans la base de données avec Eloquent Message::create([ 'category' => request('category'), ]); return redirect()->route('home')->with('ok', __('La catégorie a bien été enregistrée')); }
apparemment il faut créer un request : php artisan make:request CategoryRequest avec notamment une méthode rules()
et ensuite on complète la méthode store() du controlleur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public function rules() { $id = $this->category ? ',' . $this->category->id : ''; return $rules = [ 'category' => 'required|string|max:255|unique:categories,name' . $id, ]; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function store(CategoryRequest $request) { Category::create($request->all()); return redirect()->route('home')->with('ok', __('La catégorie a bien été enregistrée')); }
Le second cas est plus compliqué à comprendre et à mettre en place.
Mais si cette pratique existe c'est qu'elle a une raison.
Pouvez-vous dans ce cas me donner qques explications ?
Merci![]()
Partager