Mise à jour qu'un seul champ sur Cakephp 3
Dans une partie de mon application, j'ai besoin de mettre à jour uniquement le champ is_active
de certains table
avec un grand nombre de domaines. Quelle est la meilleure approche pour mettre à jour uniquement ce domaine et d'éviter les validations et les requiriments de tous les autres champs?
C'est qu'un SQL liés à la question ou du code PHP (CakePHP) question?
Je parle de cakephp 3
cette question est à partir de 2010. probablement cakephp 2 ou même 1
Je parle de cakephp 3
cette question est à partir de 2010. probablement cakephp 2 ou même 1
OriginalL'auteur Daniel Faria | 2015-05-13
Vous devez vous connecter pour publier un commentaire.
Et si vous voulez mettre à jour notamment la ligne , utilisez ceci:
Voir ici (Mise à jour des données dans CakePHP3).
if($user->save($user))
cette ligne devrait remplacer avecif($users->save($user))
Oh, je vois. Vous êtes de droite.
Gâteau 3 a la sale de fonctionnalité. Donc, sauf si vous modifiez les autres champs, ils ne seront pas mis à jour ou envoyé dans la requête. Si ceci vous évite d'écraser le mot de passe colonnes par accident. Cependant, les mots de passe et des domaines similaires devraient avoir accessible réglé sur faux de toute façon.
OriginalL'auteur Manohar Khadka
Cela fonctionne:
http://book.cakephp.org/3.0/en/orm/query-builder.html#updating-data
les rappels ne sont pas activés au cours de cette, donc si vous en avez besoin, cela ne marchera pas
vrai. @Isaac de Guingois: pour info, si vous avez cakephp beforesave alors il ne sera pas déclenché avec cette query->mise à jour.
OriginalL'auteur Isaac Askew
À l'aide de l'exemple ici: http://book.cakephp.org/3.0/en/orm/database-basics.html#running-update-statements. Exécuter le code ci-dessous pour mettre à jour tous les enregistrements dans
table_name_here
table avec une nouvelle valeur pouris_active
colonne.OriginalL'auteur Yasen Zhelev
Lorsque vous ne voulez pas les rappels à être déclenchée, il suffit d'utiliser updateAll()
OriginalL'auteur omid
Les autres réponses ne pas utiliser d'internationalisation et d'autres modèles, les accessoires, les rappels, etc.
Je pense que c'est parce que le générateur de requêtes, il n'utilise pas les modèles, et donc leurs comportements, par conséquent, vous devez utiliser:
OriginalL'auteur Kwaadpepper