yii cdbcriteria: des jointures complexes
J'ai récemment commencé un projet à l'aide de Yii et je vais essayer d'obtenir utilisé pour le générateur de requête. Maintenant, je veux faire une requête à l'aide de jointures et d'accéder à la jointure de tables de données dans la requête, mais je n'ai pas été en mesure d'obtenir la suite de travaux:
Mon (simplifié) db-tables:
à la clientèle(#id, nom)
employé(#id, nom)
customer_employee(#client #employeeid)
comptable(#id, code client, started_date, finished_date, mois, année)
- plusieurs-à-plusieurs relation entre le client et l'employé
- un-à-plusieurs relation entre le client et la comptabilité
Je veux exécuter la requête suivante, qui serait de sélectionner tous les clients associés à un certain employé et l'affichage de leur situation sur le plan comptable (started_date & finished_date) le cas échéant (null sinon).
La requête suivante fonctionne parfaitement, c'est juste que je ne peux pas le faire fonctionner avec la cdbcriteria et Yii générateur de requêtes: (aussi, codé en dur id est juste pour l'exemple)
SELECT name, started_date, finished_date
FROM customer
RIGHT JOIN customer_employee ON customer.id=customer_employee.customerid
LEFT JOIN accounting ON customer.id=accounting.customerid
WHERE customer_employee.employeeid=2';
S'il vous plaît aider!
Vous devez vous connecter pour publier un commentaire.
1.
createCommand
2.
CdbCriteria
*.
n'oubliez pas les règles: http://www.yiiframework.com/doc/guide/1.1/en/database.arr
Je n'ai pas testé votre Sql, mais si travaillé pour vous, ceux-ci devraient, fonctionnent également dans Yii.
C'est la façon d'obtenir les données avec la commande pour table de customer_employee
Un peu tard dans la journée, mais voir ce post sur mon blog qui traite à la fois des pièces de la sous-requête style SQL.
Tout d'abord, pour construire une Recherche qui s'appuie sur les caractéristiques des autres modèles
D'autre part, à l'utilisation des modèles simplement sans utiliser la pleine Yii modèle AR
http://sudwebdesign.com/yii-parameterising-a-sub-select-in-sql-builder/932
Je n'ai pas l'exécuter, mais quelque chose comme ce qui suit est ce que vous avez besoin