【发布时间】:2020-05-05 19:57:05
【问题描述】:
我想在 laravel 中按名称过滤一个集合,例如“%something%”,但其中的 like 在集合中不起作用 我该如何解决这个问题? 我写了这个方法,不适用于名称过滤器
protected function filterData(Collection $collection, $transformer)
{
foreach (request()->query() as $query => $value) {
$attribute = $transformer::originalAttribute($query);
if (isset($attribute, $value)) {
if ($attribute == 'name') {
$collection = $collection->where($attribute,'LIKE' ,"%$value%"); // problem is here
}
$collection = $collection->where($attribute, $value);
}
}
return $collection;
}
【问题讨论】:
标签: php mysql laravel eloquent