Requête en DQL génèrant un SQL erroné
Bonjour à tous,
Si une âme charitable peut m'aider, qu'elle se manifeste :)
Avant tout, voici le schema simplifié :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| StockRefProduitLabo:
columns:
ref_user_id: { type: integer, primary: true }
labo_id: { type: integer, primary: true }
quantite: { type: integer }
relations:
Labo: { onDelete: RESTRICT, local: labo_id, foreign: id, foreignAlias: Labos }
RefUserProduit: { onDelete: RESTRICT, local: ref_user_id, foreign: id, foreignAlias: RefsUtilisateurs }
RefUserProduit:
columns:
produit_id: { type: integer, notnull: true }
ref_user: { type: string(50), notnull: true }
is_active: { type: boolean, notnull: true, default: 1 }
relations:
Produit: { onDelete: RESTRICT, local: produit_id, foreign: id, foreignAlias: RefUsers }
StockProduitLabos:
class: RefUserProduit
refClass: StockRefProduitLabo
local: ref_user_id
foreign: labo_id
foreignAlias: RefUserProduits
Labo:
columns:
numero: { type: string(50), notnull: true }
is_active: { type: boolean, notnull: true, default: 1 }
relations:
StockProduitLabos:
class: RefUserProduit
refClass: StockRefProduitLabo
local: labo_id
foreign: ref_user_id
foreignAlias: Labos |
Ma requête en DQL :
Code:
1 2 3 4 5 6
|
$query = Doctrine::getTable('RefUserProduit')
->createQuery('r')
->addSelect('r.ref_user, s.quantite')
->leftJoin('r.StockProduitLabos s')
->addWhere('r.produit_id = ?', $request->getParameter('id')) |
Et voilà le SQL généré :
Code:
1 2 3 4 5 6
| SELECT r.id AS r__id, r.ref_user AS r__ref_user,
r2.id AS r2__id, r2.quantite AS r2__quantite
FROM ref_user_produit r
LEFT JOIN stock_ref_produit_labo s ON (r.id = s.ref_user_id)
LEFT JOIN ref_user_produit r2 ON r2.id = s.labo_id
WHERE (r.produit_id = ?) |
Ma question est à la fois simple et compliquée : d'où vient donc cette ligne en mauve ???
Est-ce que je fais une erreur de syntaxe à un niveau quelconque ?