Atk4 Agiletoolkit:Or';安第斯山脉
我有一个查询,它为我提供了许多上下文id和类id对。我希望其中一个能被另一个查询满足。所以我需要做(co2和cl1)或(co2和cl2)或 这个给了我一系列的和:Atk4 Agiletoolkit:Or';安第斯山脉,atk4,Atk4,我有一个查询,它为我提供了许多上下文id和类id对。我希望其中一个能被另一个查询满足。所以我需要做(co2和cl1)或(co2和cl2)或 这个给了我一系列的和: foreach($tscarr as $tsc) { $grid->dq->where('context_id',$tsc['context_id'])->where('class_id',$tsc['class_id']); } 从这一页我知道:我应该能够做或做。但我在尝试使用or时出错: $grid->
foreach($tscarr as $tsc)
{
$grid->dq->where('context_id',$tsc['context_id'])->where('class_id',$tsc['class_id']);
}
从这一页我知道:我应该能够做或做。但我在尝试使用or时出错:
$grid->dq->where($grid->dq->or()->where($grid->dq->where('context_id',$tsc['context_id'])->where('class_id',$tsc['class_id'])));
希望您对如何解决这个问题有一个好主意…您可以使用
$dsql->orExpr()
方法
在Stackoverflow中有多个例子,比如这一个,在ATK4 Google组中也有多个例子,这里只需搜索orExpr即可
我想在你的情况下,这样的方法应该有效(未经测试):
有关
orExpr()
的更多示例和信息可以在这里找到:这非常有效!谢谢它还教会了我很多关于物体是如何工作的。。。所以再次感谢;-)
$q = $grid->dq;
$or = $q->orExpr();
foreach($tscarr as $tsc)
{
$or->where(
$q->andExpr()
->where('context_id', $tsc['context_id'])
->where('class_id', $tsc['class_id'])
);
}
$q->where($or);