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".
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!