Cakephp 3.x 如何在CAKEPHP 3.x中获取表记录时使用组合查询参数

Cakephp 3.x 如何在CAKEPHP 3.x中获取表记录时使用组合查询参数,cakephp-3.x,Cakephp 3.x,在CakePHP2上,我有一个在控制器中“收集”参数的方法,例如,在视图中,我有组合框a、组合框B、输入“关键字”和在控制器上。然后我在控制器上收集这些数据以创建条件过滤器 然后我可以在条件查询中使用它,比如:'conditions'=>$condition。然后在CakePHP3中,数组被改为[],所以我不能再使用这个方法了 如何在CakePHP3中模拟该方法?或者是否有其他方法进行条件收集 我尝试了与array相同的方法,但不起作用。我还不能在网上找到它。这里是我之前做的示例集合 $cond

在CakePHP2上,我有一个在控制器中“收集”参数的方法,例如,在视图中,我有组合框a、组合框B、输入“关键字”和在控制器上。然后我在控制器上收集这些数据以创建条件过滤器

然后我可以在条件查询中使用它,比如:'conditions'=>$condition。然后在CakePHP3中,数组被改为[],所以我不能再使用这个方法了

如何在CakePHP3中模拟该方法?或者是否有其他方法进行条件收集

我尝试了与array相同的方法,但不起作用。我还不能在网上找到它。这里是我之前做的示例集合

$conditions = array();
$conditions['StoreProduct.stok >']=0;
$conditions['StoreProduct.deleted']=0;

我建议您使用查询生成器,如:

$query = $articles
->find()
->select(['id', 'name'])
->where(['condition1 >' => 0, 'condition2' => 0])
->order(['created' => 'DESC']);

更多信息:

您所说的“数组更改为[]”是什么意思?CakePHP 3仍然接受查询中的条件数组。正如我在上面尝试的,它不会收到我制作的数组,你有没有任何代码示例,简单的一个就足以说明它是如何工作的,我会研究它,但我的问题是收集条件,我需要收集所有过滤器到变量或任何我可以使用的东西,然后输入查询。您能告诉我如何收集它吗?正如您在示例中所看到的,
其中
函数接受一系列条件。所以,你可以像往常一样收集它们。