U
教義には 3 つのテーブルがあります。簡単にするために、それらを ,M
と呼びます。R
U
M
とを使用できR
ます
M
を持つことができR
ます
R
何も持てない
ダイアグラムとして、これは次のようになります。
U ---> M
| |
| V
'----> R
私がやりたいことは、 の列を介して、または の列によって直接並べ替えられ、 の列によって照会されるすべてR
の関連を取得する 1 つのクエリを作成することです。U
M
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 . "%");
他の多くのものと同様に、しかし役に立たない...
前もって感謝します!