Laravel: Like для коллекций

В коллекциях Laravel 5.1 нет функции like для коллекций, но можно написать подобное поведение при помощи filter.

 $searchBy = 'gr';
 $data = collect(array('name' => 'gregg', 'name' => 'john', 'name'=> 'alice'));
        $data = $data->filter(function ($item) use ($searchBy) {
            return (bool) preg_match('#^'.preg_quote($searchBy).'.*$#us', $item['name']);
        });
SQL like preg_match
% .*
_ .

 

Добавить комментарий