J'ai deux modèles et une table de jointure, User
, Post
et posts_users
. Le tableau posts_users
contient quelques champs supplémentaires, dont l'un est is_active
. Je souhaite que tous les messages d'un utilisateur soient actifs, à condition que l'utilisateur soit actif.UpdateAll et HABTM dans CakePHP
Je donne les résultats suivants
$this->Post->PostsUser->updateAll(array('PostsUser.is_active' => 1), array('PostsUser.user_id' => $data['User']['id'], 'User.is_active' => 1));
Ce qui provoque une erreur MySQL
Warning (512): SQL Error: 1054: Unknown column 'User.is_active' in 'where clause' ...
Query: UPDATE
posts_sites
ASPostsUser
SETPostsUser
.is_active
= 1 WHEREPostsUser
.user_id
= 1 ANDUser
.is_active
= 1
Comme vous pouvez le voir le tableau de l'utilisateur ne se joint à la requête. Y at-il loin autour de ce problème?
C'était un modèle généré automatiquement, j'ai créé le fichier modèle avec les associations appropriées et maintenant ça marche, Beau travail! – DanCake