WHERE a = 1 AND (b = 1 Or b = 2) AND (c = 1 OR c = 2)
私はDoctrineでどのようにすることができますか?DoctrineでandWhere and orwhereを使用する方法?
$q->where("a = 1");
$q->andWhere("b = 1")
$q->orWhere("b = 2")
$q->andWhere("c = 1")
$q->orWhere("d = 2")
が、どのように私はそれを行うことができます。
$q->where("a = 1");
$q->andWhere("b = 1")
$q->orWhere("b = 2")
$q->andWhere("c = 1")
$q->orWhere("d = 2")
このありえない正しく...べきでしょうか? Propelでは関数getNewCriterionがあり、Doctrineでは...?
次に、 'where()'コールにすべてを入れないのはなぜですか? – MatBailie
私はこの種の構文には満足しません...もしORをどこの "SQL"に移そうとすればどうでしょうか? 'b =? 'を使う必要があります。 OR b =? ' – Vyktor
@Demsはい、確かに可能です。この方法はより速いです。 – Maerlyn