我的疑问是:
$q = Doctrine_Query::create()
->from('plans p')
->whereIn('c.centerid',$centers)
->andWhere('p.agecategory = ?', $ageType)
->andWhere('p.type = ?', '2')
->andWhere('p.active = ?', '1')
->leftJoin('p.plansCenters c');
return $q->execute();
我不会再添加一行:
orWhere('p.allcenters =?' , '1')
问题是这样的: 如果c.allcenters =,我不会删除这个inClouse? 1和oposit如果c.allcenters =? 0显示查询whit whereInclouse。如果我知道或者在WhereInIn clouse这个3之后并且在此之后不能工作请帮助:))
答案 0 :(得分:0)
我没有完全理解这个问题,但我熟悉复杂的orWhere /和Where子句。你必须在条件喜欢的地方使用组合:
->where("q.column=? AND w.column=?", ...)
->orWhere("e.id=? AND r.name=?", ....)
->orWhere("t.id=? AND (y.id=? OR u.id=?)", ...)
我希望你理解这个想法,这是完全合法的方式。