我正在尝试设置一个从foreach指向数据库的查询。我正在接收一个数组作为数据,并希望对其进行循环。我只想接收所有正确的项,因此ID字段1需要是键,字段2需要是定义的值。
$array = array(1 => false, 2 => false, 3 => true);
查询开始:
$query = $this->find()->innerJoinWith('Table');
我的朋友:
foreach ($array as $key => $checkpoint) {
query = $query->where([
'AND' => [
'Table.field1' => $key,
'Table.field2' => $checkpoint
]
]);
}
1条答案
按热度按时间xfb7svmp1#
在我的IDE中:
添加一个条件或一组条件,以便在该查询的WHERE子句中使用。条件可以表示为一个字段数组,其中包含比较运算符的关键字,数组的值将用于比较字段与此类文字。最后,条件可以表示为单个字符串或字符串数组。使用数组时,每一个条目都将使用AND操作符与其余的条件连接起来。2连续调用该函数也将使用AND操作符连接指定的新条件。3另外,值可以用表达式对象来表示,表达式对象可以包含其他查询对象.用这个方法创建的任何条件都可以与任何SELECT,UPDATE和DELETE类型的查询。使用运算符的条件:
上一个示例将生成:发布地点〉= 2012-01-27 AND标题类似于'您好W%' AND作者ID = 1
所以在你的情况下,我认为应该是:
注意:我没有考虑join语句。