2013-02-21 60 views
1

有網友:有點不同的左連接用的Symfony 1.4學說

id | name 
1 user1 
2 testuser 

有任務:

id | creatorid | ownerid| name 
1  1   1  task1 
2  1   2  task2 
3  2   1  task3 
4  2   2  task4 

我做了這樣的事情:

Doctrine_Core::getTable('User')->createQuery()->leftJoin('User.Task') 

但隨後這些表格與「creatorid」相關,而不是「ownerid」,如何指定它?

回答

1

這取決於你如何定義在UsersTask關係。你應該有這樣的事情:

Tasks: 
... 
    relations: 
    owner: {class: User, local: ownerId, foreign: id, foreignAlias: ownedTasks} 
    creator: {class: User, local: creatorId, foreign: id, foreignAlias: createdTasks} 

然後你可以使用:

Doctrine_Core::getTable('User')->createQuery()->leftJoin('User.ownedTasks) 

由業主加入或

Doctrine_Core::getTable('User')->createQuery()->leftJoin('User.createdTasks') 

創建者加入。