Maison  >  Article  >  cadre php  >  Que dois-je faire si yii2 ne parvient pas à enregistrer les données de mise à jour ?

Que dois-je faire si yii2 ne parvient pas à enregistrer les données de mise à jour ?

藏色散人
藏色散人original
2020-07-22 11:36:533396parcourir

La solution à l'échec de la sauvegarde des données de mise à jour de yii2 : recherchez et ouvrez d'abord le fichier de script d'origine qui a provoqué l'erreur, puis ajoutez des règles de validation pour les nouveaux champs dans les règles de la classe de modèle, ou définissez le champ sur " ; sûr".

Que dois-je faire si yii2 ne parvient pas à enregistrer les données de mise à jour ?

YII2 n'a pas réussi à mettre à jour les données

Cause :

Mode CLI, tâche planifiée. Synchronisez les données de base de données dans d'autres systèmes via des vues.

Recommandé : "Tutoriel yii"

Processus :

Le script original a été écrit et il a été modifié en fonction de ceux existants et ajouté de nouveaux champs.

Après l'ajout du champ, il a été exécuté, mais il a toujours échoué. L'heure utime enregistrée dans le tableau a également pu être mise à jour avec succès, mais seul le champ nouvellement ajouté n'a pas pu être mis à jour.

Essayer d'imprimer les résultats $model->validate() est très bien. $model->save() renvoie également true. $model->errors() renvoie vide. Tout va bien.

Je me suis soudainement souvenu que les champs nouvellement ajoutés n'étaient pas ajoutés dans la classe de modèle, je l'ai donc changé en $model->save(false) pour désactiver la vérification. Toujours sans succès.

Solution :

Ajoutez des règles de validation pour les nouveaux champs aux règles de la classe modèle ou définissez le champ sur sécurisé.

Résumé :

Quelle triche. Dans le passé, save(false) était OK, mais cette fois, cela ne fonctionne pas. .

L'analyse devrait être un problème grammatical. Cette fois, la méthode d'attribution des données est

$info->attributes = $data;

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn