Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 08.02.2018 07:46:14

многократное использование объекта Builder

Создаем объект Builder:

$items_builder = Item::where('field','statement');

Теперь я хочу использовать его для разных целей 3 раза:

$items_type1 = $items_builder->where('field','statement1')->get();
$items_type2 = $items_builder->where('field','statement2')->get();
$items_type3 = $items_builder->where('field','statement3')->get();

Корректно отрабатывает только

$items_type1 = $items_builder->where('field','statement1')->get();

Видимо, потому, что отрабатывается первым.
Вопрос в том - что происходит с объектом Builder ($items_builder) после первого применения?
И как сделать правильно?

Изменено Yurri_87 (08.02.2018 07:47:32)

Не в сети

#2 08.02.2018 08:24:44

Re: многократное использование объекта Builder

Ты не сможешь так переиспользовать (да и смысл?). К тому же, в данном случае лучше загрузить данные один раз и уже потом работать с коллекциями:

PHP
$items Item::whereIn('field', ['statement''statement1''statement2''statement3'])->get();

@foreach (
$items->where('field''statement1') as $item)
    {{ 
$item->id }}
@endforeach

Не в сети

#3 08.02.2018 10:28:29

Re: многократное использование объекта Builder

разобрался, сенкс!

Изменено Yurri_87 (08.02.2018 10:37:10)

Не в сети

Подвал раздела