left join non prévu dans le schema
bonjour,
j'ai 2 tables, la premiere me permet de grouper à la création un groupe de personnes la seconde de gerer par personne des données par date:
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| GrpeChqDejList:
connection: doctrine
tableName: GrpeChqDejList
columns:
grpechqdej_id:
type: integer
user_id:
type: integer
unique: true
indexes:
Unique:
fields: [grpechqdej_id, user_id]
type: unique
relations:
User:
class: sfGuardUser
local: user_id
foreign: id
GrpeChqDej:
class: GrpeChqDej
local: grpechqdej_id
foreign: id
ChqDej:
connection: doctrine
tableName: cheqdej
columns:
user_id:
type: integer
date:
type: timestamp
conges:
type: integer
maladie:
type: integer
professionel:
type: integer
nbChq:
type: integer
indexes:
Unique1:
fields: [user_id, date]
type: unique
relations:
User:
class: sfGuardUser
local: user_id
foreign: id
onDelete: CASCADE
onUpdate: CASCADE |
je ne désire pas avoir une relation forte entre ces deux tables mais j'ai besoin davoir un affichage par groupe donc en SQL ça donne:
Code:
1 2 3 4 5
| SELECT G.`user_id`, MAX(c.date )
FROM GrpeChqDejList G
LEFT OUTER JOIN cheqdej c ON c.user_id=G.user_id
WHERE G.`grpechqdej_id`=1
GROUP BY G.`user_id` |
que j'ai transcrit en doctrine:
Code:
1 2 3 4 5 6
| $q = Doctrine_Query::create()
->select('a.user_id,MAX(c.date)')
->from('GrpeChqDejList a')
->leftJoin('cheqdej c ON a.user_id = c.userid')
->where('a.grpechqdej_id = ?',$id)
->execute(); |
malheureusement j'ai le message d'erreur:
Code:
Couldn't find class cheqdej
quelle est la bonne syntaxe ?