动态查找使用多个NOT LIKE

时间:2014-09-07 03:23:39

标签: php cakephp-2.3

我正在尝试在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使用数组或变通方法?

1 个答案:

答案 0 :(得分:1)

做到:

$blocked_words = array('%apple%','%orange%','%strawberry%','%grapes%');
$conditions = array(); // conditions
foreach ($blocked_words as $word) {
   $conditions['NOT'][] = array('Api.reason LIKE' => "%$word%");
}