我正在尝试在CakePHP中执行一个复杂的查找,它从表中提取了多个NOT LIKE变量。
就像尝试使用数组一样,例如:
$blocked_words = array();
array_push($blocked_words,'%apple%','%orange%','%strawberry%','%grapes%');
'NOT' => array(
array('Api.reason LIKE' => $blocked_words)),
不起作用,只有:
'NOT' => array(
array('Api.reason LIKE' => '%apple%'),
array('Api.reason LIKE' => '%orange%'),
array('Api.reason LIKE' => '%grapes%')),
似乎有效。虽然这很好,但是当我拉动未知数量的变量时,它并没有解决我的需求。有没有办法让LIKE使用数组或变通方法?
答案 0 :(得分:1)
做到:
$blocked_words = array('%apple%','%orange%','%strawberry%','%grapes%');
$conditions = array(); // conditions
foreach ($blocked_words as $word) {
$conditions['NOT'][] = array('Api.reason LIKE' => "%$word%");
}