Dans les liaisons faites par cakephp, il trouve plusieurs champs (dans plusieurs tables) appelés "user_id".
Du coup tu dois préciser le modèle dans tes conditions.
Bonjour, bonsoir,
je suis actuellement la formation cakephp dans la mise en place du système d'abonnement , et de l'abonnement à un animal je récupéère l'erreur suivante :
Database Error
Error: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'user_id' in where clause is ambiguous
SQL Query: SELECT COUNT(*) AS count FROM petsy.subscriptions AS Subscription LEFT JOIN petsy.pets AS Pet ON (Subscription.pet_id = Pet.id) LEFT JOIN petsy.users AS User ON (Subscription.user_id = User.id) WHERE pet_id = 1 AND user_id = 2
J'ai beau chercher je ne trouver pas comment régler ce problème.
La requête correspond exactement à ma demande pourtant =/
voici le code :
Une idée svp ?
5 réponses
Merci,
J'avais essayé une première fois, en ne précisant que pour le user_id , et ça m'avait renvoyé un message d'erreur (dont je ne me rappel plus).
Du coup pour les deux ca fonctionne nickel
Merci bien =)
En faite mon problème n'est pas résolu finalement;
Car ca me fait bien une nouvelle entrée dans ma table mais pet_id et user_id on la valeur 0 une idée pourquoi ?
Oui, pour enregistrer, cakephp attend un format différent de celui que tu lui donnes dans $conditions. Du coup il crée un enregistrement vierge. Voilà le format attendu :
ca ne fontionne pas non plus : ca me retourne l'erreur
Warning (2): Illegal offset type [APP\Controller\PetsController.php, line xx]
et lorsque je retire les crochets il cherche le champs subscritption =(