1. ホーム
  2. php

DoctrineでandWhereとorWhereをどう使うか?

2023-11-01 04:26:26

質問

WHERE a = 1 AND (b = 1 Or b = 2) AND (c = 1 OR c = 2)

Doctrineでこれを作るにはどうすればよいのでしょうか?

$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では...?

どのように解決するのですか?

$q->where("a = 1")
  ->andWhere("b = 1 OR b = 2")
  ->andWhere("c = 2 OR c = 2")
  ;