次のように、データベースへのクエリを作成する関数があります。
public function getList($u, $t, $ls, $lf) {
return $this->getEntityManager()
->createQuery('
SELECT
o,
u,
g,
r,
t,
p
FROM GameShelfUsersBundle:Own o
LEFT JOIN o.user u
LEFT JOIN o.game g
LEFT JOIN o.rate r
LEFT JOIN o.typo t
LEFT JOIN o.platforms p
WHERE u.id = :user
AND o.typo = :type
ORDER BY o.updated DESC
')
->setParameters(array(
'user' => $u,
'type' => $t
))
->setMaxResults($lf)
->setFirstResult($ls)
->getResult();
}
私の問題は、どのように設定:type
するのnot in
ですか? つまり、次のように使用したかったのです。
$type = '!= 1'
...
AND o.typo :type
...
'type' => $type
しかし、それはまったく機能しませんでした。使用$type = -1
しても役に立ちません。if/else ステートメントを作成してクエリを複製する以外に方法はありますか?