J'ai 4 tables:CakePHP - SQL: tables joindre
stores {id, name, owner_id, city_id, ...}
store_managers {id, store_id, user_id, ...} // since I'm not associating (i have my reasons) the table to the others by cake's association, the name is not by the cakePHP naming conventions.
cities {id, name, ...}
users {id, name, ...}
maintenant .. dans le stores_controller
il y a une fonction appelée « stores_stats() » qui recueille des statistiques sur les magasins appartenant à l'utilisateur et spectacles il. Le owner_id provient de la $this->Auth->user('id')
Je veux utiliser un appel $this->Store->find('all')
pour obtenir les informations suivantes:
- Le record du magasin lui-même.
- Les directeurs de magasin de chaque magasin.
- Enregistrement de la ville pour chaque magasin.
- L'enregistrement de magasin lui-même.
Le users
et les cities
tables sont associées à la table stores
et une requête find('all')
retourne correctement les données à leur sujet. mon problème est avec store_managers
tableau.
Comment puis-je joindre le store_managers
à la requête? Et, juste pour bien faire les choses - comment écrire moi-même une telle requête? La requête suivante me donne quelque chose .. .. autre
SELECT *
FROM stores
LEFT JOIN cities ON stores.id = cities.id
LEFT JOIN store_managers ON store_managers.store_id = stores.id
WHERE stores.id = 122 AND stores.owner_id = 3
merci, je suis d'accord. mais j'ai toujours besoin de la jointure et simple façon sql .. pouvez-vous s'il vous plaît aider? – yossi
Vous essayez d'utiliser JOIN de Cake?Ou juste le faire fonctionner avec du SQL normal? – Dave
Les deux - le sql normal sera suffisant – yossi