Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Atk4 Agiletoolkit:Or';安第斯山脉_Atk4 - Fatal编程技术网

Atk4 Agiletoolkit:Or';安第斯山脉

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->

我有一个查询,它为我提供了许多上下文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->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);