如何在symfony2中连接多个表?

时间:2015-07-03 06:09:46

标签: php mysql symfony doctrine

我正在开展一个项目。我正在使用symfony2和XAMPP,PHP版本为5.5.19。我有三张有关系的桌子。

以下是表格:

table_name : transaction_tbl 
- transaction_id
-filename
-filepath
-sender
-doctype_id

table_name : doctype_tbl
-doctype_id
- doctype
-name
-description

table_name : transaction_details

- details_id
-ref_numbers
-amount
-transaction_id

我想要做的是加入这三个表,以便我可以获得doctype及其详细信息。意义还需要加入事务和事务详细信息。我不知道该怎么做。有人可以帮忙吗?

更新

我忘了说我正在使用doctrine查询构建器。

2 个答案:

答案 0 :(得分:2)

$qb->select('DISTINCT m')
->from('MessageBundle:AssignmentUser', 'au')
->innerJoin('au.assignment', 'a', 'WITH', 'a.status = (:assigned)')
->innerJoin('au.user', 'u')
->innerJoin('a.message', 'm')
->where('u.id = (:user_id)')
->setParameter('assigned', 'assigned')
->setParameter('user_id', $yourSpecificUserId)
->orderBy("m.createdAt", "desc");

有关详细信息,请参阅Symfony2 / Doctrine multiple joins returns error

答案 1 :(得分:1)

最好的方法可能是使用Doctrine ORM,定义您的实体及其与注释的关系,并使用Doctrine QueryBuilder与您的数据进行交互。

请参阅http://symfony.com/doc/current/book/doctrine.html