我正在制作搜索算法,并希望在Laravel集合过滤器方法中使用查询中的$ needle。但我确定我传递了一个值,甚至检查它但是我得到一个针是空的错误
代码:
if ( array_key_exists('search', $query) && $query['search'] != '' ) {
$needle = strtolower($query['search']);
$orders->filter(function ($order) use ($needle) {
foreach ($order as $attribute => $value) {
if ( strpos($needle, strtolower($value)) !== false ) {
return $order;
}
}
});
}
答案 0 :(得分:3)
你已经反转了strpos
个函数参数,它应该是haystack, needle
,所以请尝试反转内部的值