Laravel foreach entrée toutes les mises à jour échoue à cause de jeton de formulaire
Récemment, j'ai trouvé mon problème ce qui est à l'origine de mon erreur.
J'ai créer un formulaire post et boucle devant eux
public function update()
{
$input = Input::all();
foreach ($input as $key => $value) {
$update = Setting::find($key);
$update->value = $value;
$update->save();
}
return Redirect::back();
}
Le problème est que j'obtiens l'erreur suivante
Creating default object from empty value
Parce que le jeton est inclus dans le formulaire de poster ce Laravel automatiquement rend à une forme
si j'arrête d'utiliser Laravel formulaire d'ouvrir et d'utiliser la balise html form tout fonctionne très bien.
Est-il un moyen de contourner cela avec laravel forme ouverte ou dois-je utiliser la balise html form?
source d'informationauteur Web Student
Vous devez vous connecter pour publier un commentaire.
changer
à
Assurez-vous que votre
$update = Setting::find($key);
retourne un objet valide, parce que, que l'erreur doit être déclenchée lorsque$update
est NUL ou n'est pas défini et que vous essayez de l'utiliser dans votre codeCet avertissement
Creating default object from empty value
se produit lorsque E_STRICT est dans le système, mais ce n'est pas le vrai problème, au lieu de cela, vous n'obtenez pas le résultat souhaité, la plupart probablementSetting::find($key)
n'est pas la chose que vous avez demandé la création d'un nouveauSetting
objet au lieu de cela, vérifier votre modèle et assurez-vous que vous êtes de passage à la juste valeur à::find($key)
la clé doit êtreprimary
clé.Mise à jour :
Aussi rappelez-vous, lors de votre utilisation de
Dans ce cas,
$key
sera le nom de votreinput/field
utilisé dans la forme et il peut contenir caché_token
champ mais_token
est probablement pas disponible dans la base de données comme unfield/column
. Ainsi, vous pouvez essayer d'obtenir à tout sauf à la_token
tout recevoir sans
_token
champ (mais pas sûr si cela résout le problème ou pas).