複数のWHERE
ステートメントでクエリを書きたいと思います。DQLと複数のWHEREステートメント
$query = $this->createQueryBuilder('s');
$query->select('s.id,s.internalId as internal_id,s.firstName as first_name,s.lastName as last_name,st.name as store_name,sts.name as status_name')
->leftJoin('s.store', 'st')
->leftJoin('s.studentStatus', 'sts')
->where($query->expr()->orx(
//$query->expr()->eq('s.store_id', ':location'),
$query->expr()->like('s.internalId', ':internalId'),
$query->expr()->like($query->expr()->concat($query->expr()->literal(' '), 'lower(s.firstName)'), ':name'),
$query->expr()->like($query->expr()->concat($query->expr()->literal(' '), 'lower(s.lastName)'), ':name'),
$query->expr()->like($query->expr()->concat($query->expr()->concat($query->expr()->literal(' '), 'lower(s.firstName)'), $query->expr()->concat($query->expr()->literal(' '), 'lower(s.lastName)')), ':name'),
$query->expr()->like($query->expr()->concat($query->expr()->concat($query->expr()->literal(' '), 'lower(s.lastName)'), $query->expr()->concat($query->expr()->literal(' '), 'lower(s.firstName)')), ':name')
))
->setParameter('name', "%{$term}%")
->setParameter('internalId', "%{$internalId}")
//->setParameter('location', "{$location}")
->orderBy('s.lastName', 'ASC')
->setMaxResults((int) $limit);
上記のクエリのコメント行は機能しません。
何を意味するのですか?たぶんあなたは "andWhere"を意味するのでしょうか? –
はい!また、うまく動作しません。私は値が私のクエリで何が間違っている列の値と等しいかチェックしたい。 ? – Developer