Php 多推进式过滤器
尝试使用LIKE按多个条件筛选列 像这样:Php 多推进式过滤器,php,symfony,propel,Php,Symfony,Propel,尝试使用LIKE按多个条件筛选列 像这样: $d = ItemQuery::create() ->filterByName($array_of_names, Criteria::LIKE) ->find(); 但是我得到了“sprip/src/sprip/Runtime/Connection/StatementWrapper.php中的数组到字符串转换” 如何使用“相似”标准按多个“名称”进行筛选? 我基本上希望查询是
$d = ItemQuery::create()
->filterByName($array_of_names, Criteria::LIKE)
->find();
但是我得到了“sprip/src/sprip/Runtime/Connection/StatementWrapper.php中的数组到字符串转换”
如何使用“相似”标准按多个“名称”进行筛选?
我基本上希望查询是
…名称如%name1%或名称如%name2%或名称如%name2%…
假设$array\u of_name
为[$name1,$name2,…]
$q = ItemQuery::create()
foreach ($array_of_names as $i => $name) {
if ($i > 0) { // Not the first item in the array
$q->_or();
}
$q->where('Item.Name LIKE %?%', $name);
}
$d = $q->find();
看
及
或
太好了-谢谢另外->filterByName($names,Criteria::LIKE)也可以在这里使用,而不是where()