Как найти и выбрать элементы коллекции,используя методы map и search?

143
28 октября 2019, 21:10

Получена коллекция с помощью модели eloquent:

$posts= Post::where(‘confirm’,’1’)->get();

Как выбрать из неё все записи, в которых присутствует слово ‘брюки´?

$posts=$posts->search(‘брюки’)

возвращает false и потом согласно документации этот способ может вернуть только один элемент, а нужны все записи.

Answer 1

Если предположить, что свойство модели Post, в котором нужно искать совпадения, называется text и вы по каким-либо причинам не хотите произвести фильтрацию на уровне запроса к БД таким образом:

 $posts = Post::where('confirm', '1')->where('text', 'LIKE', '%брюки%')->get();

то выбрать записи из коллекции можно следующим образом:

$posts = $posts->filter(function ($post) {
    return mb_stripos($post['text'], 'брюки') !== false;
});

https://laravel.com/docs/5.7/collections#method-filter

READ ALSO
Разные урлы, разный контент, один single-page WP

Разные урлы, разный контент, один single-page WP

Имею сайт на WordPress, есть API турагенствана главной странице циклом for показываю информацию до 6 горящих туров в виде блоков

139
Как узнать hardware-id чужого компьютера?

Как узнать hardware-id чужого компьютера?

Всем доброго вечераПодскажите пожалуйста, можно ли каким то способом узнать hardware-id чужого компьютера? Или это миф?

221
Вытянуть данные из строки

Вытянуть данные из строки

Получаю строки данных погоды в следующем формате:

198