Comment puis-je utiliser un nom d'entrée HTML différent du nom de colonne dans lequel je souhaite enregistrer ces données d'entrée
J'utilise habituellement cette méthode car tous les noms d'entrée HTML sont égaux aux colonnes de la base de données :
Model::create($request->all());
Maintenant, je sais que je peux utiliser ceci :
Model::create([ 'name' => $request->name, 'feild' = > $request=>value, etc. ]);
Mais j'ai beaucoup de valeurs et je ne veux pas les réécrire encore et encore, alors y a-t-il un moyen de combiner $request->all()
avec la deuxième méthode ?
J'ai trouvé que la fonction PHP array_merge() peut être utilisée comme indiqué ci-dessous :
Une solution consiste à ajouter des champs en utilisant https://laravel.com/docs/9.x/collections#method-merge merge() et à utiliser https://laravel.com/docs/9.x/ collections #method-only Renvoie uniquement les champs à ajouter au modèle, ou https://laravel.com/docs/9.x/collections#method-sauf except() inverse