我有 3 个教义表,为简单起见,我将它们称为U
:M
和R
U
可以有M
's 和R
's
M
可以R
有的
R
可以一无所有
作为图表,这可能如下所示:
U ---> M
| |
| V
'----> R
我想要做的是创建一个查询来获取所有R
与U
通过M
或直接由 in 中的列排序并由 in 中的列R
查询的所有内容R
。
在 PHP 目前我有:
$qb->select('r')
->from('R','r')
->where('r.u = :uid')
->orderBy('r.order','DESC')
->setParameter('uid', $U->getId())
->setFirstResult( $offset )
->setMaxResults( $limit )
->andWhere(
$qb->expr()->orX(
$qb->expr()->like('r.q1',':query'),
$qb->expr()->like('r.q2',':query')
)
)
->setParameter('query', "%" . $query . "%");
我想以m.r
某种方式加入,同时仍然能够查询它们的属性。我努力了:
$qb->select('u.r, m.r')
->from('U','u')
->where('u.id = :uid')
->join('u.m','m')
->orderBy('u.r.order','DESC')
->setParameter('uid', $U->getId())
->setFirstResult( $offset )
->setMaxResults( $limit )
->andWhere(
$qb->expr()->orX(
$qb->expr()->like('u.r.q1',':query'),
$qb->expr()->like('u.r.q2',':query')
)
)
->setParameter('query', "%" . $query . "%");
以及许多其他事情,但无济于事......
提前致谢!