Laravel по-русски

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

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

#1 15.06.2016 11:01:45

Проверка на значение поле в списке выводимых обьектов

У меня есть переменная

$offers = Offer::where('ticket_id','=',$id)->get();

Она возвращает список offers

[{"id":1,"car_id":1,"ticket_id":2,"user_id":2,"price":12000,"netprice":10000,"commission":0,"agent_commission":0,"prepay":3000,"offer_status_id":2,"offer_commission_status_id":1,"offer_agent_commission_status_id":1,"created_at":"2016-06-12 15:16:05","updated_at":"2016-06-15 07:14:29"},{"id":3,"car_id":3,"ticket_id":2,"user_id":1,"price":12000,"netprice":10000,"commission":2000,"agent_commission":0,"prepay":0,"offer_status_id":3,"offer_commission_status_id":1,"offer_agent_commission_status_id":1,"created_at":"2016-06-15 03:33:56","updated_at":"2016-06-15 07:14:22"}]

У них есть такое поле - offer_status_id, у одного сейчас оно равно 2, у другого 3

Как мне сделать такую проверку:

Если в списке этих offers присутствует offer со статусом offer_ststus_id = 2 например, то....

Спасибо!

Не в сети

#2 15.06.2016 11:15:16

Re: Проверка на значение поле в списке выводимых обьектов

...то что?
заканчивай мысль, а то не понятно что с чем и где ты хочешь делать

Не в сети

#3 15.06.2016 11:15:49

Re: Проверка на значение поле в списке выводимых обьектов

В $offers сейчас находится коллекция, работаешь уже с коллекцией:

if ($offers->where('offer_ststus_id', 2)->count() > 0)

Не в сети

#4 15.06.2016 11:15:53

Re: Проверка на значение поле в списке выводимых обьектов

на уровне БД хочешь выборку сделать?
если да, то конкретизируй, а то насоветуют тебе тут -)

Не в сети

#5 15.06.2016 11:16:23

Re: Проверка на значение поле в списке выводимых обьектов

AlexeyMezenin пишет:

В $offers сейчас находится коллекция, работаешь уже с коллекцией:

if ($offers->where('offer_ststus_id', 2)->count() > 0)

в принципе можно и на уровне бд сделать необходимое

Не в сети

#6 15.06.2016 11:18:06

Re: Проверка на значение поле в списке выводимых обьектов

hzone пишет:
AlexeyMezenin пишет:

В $offers сейчас находится коллекция, работаешь уже с коллекцией:

if ($offers->where('offer_ststus_id', 2)->count() > 0)

в принципе можно и на уровне бд сделать необходимое

+ гет уже в переменную загнал, осмысленней считать уже массив $offers а не дёргать структуру, нагружая процессор бессмысленными действиями, которые можно получить работая с меньшими объёмами объёетов манипулирования

Изменено hzone (15.06.2016 11:19:20)

Не в сети

#7 15.06.2016 11:20:03

Re: Проверка на значение поле в списке выводимых обьектов

AlexeyMezenin пишет:

В $offers сейчас находится коллекция, работаешь уже с коллекцией:

if ($offers->where('offer_ststus_id', 2)->count() > 0)

Спасибо! То что надо!

Не в сети

#8 15.06.2016 11:20:39

Re: Проверка на значение поле в списке выводимых обьектов

hzone пишет:

...то что?
заканчивай мысль, а то не понятно что с чем и где ты хочешь делать

Например ... то echo 'hi';

По факту буду менять значение самой переменной $offers, то есть сейчас он показывает все offers, но если есть со статусом 2 например, то показывать только его.

а как на уровне БД?

Изменено AnimalInstinct (15.06.2016 11:23:18)

Не в сети

#9 15.06.2016 14:55:15

Re: Проверка на значение поле в списке выводимых обьектов

[quote=AnimalInstinct][quote=hzone]…то что?
заканчивай мысль, а то не понятно что с чем и где ты хочешь делать[/quote]

Например... то echo ’hi’;

По факту буду менять значение самой переменной $offers, то есть сейчас он показывает все offers, но если есть со статусом 2 например, то показывать только его.

а как на уровне БД?[/quote]
$offers = Offer::where(’ticket_id’,’=’,$id)->where(’offer_ststus_id’, 2)->get();

if(!$offers->isEmpty()) {
//action
}

Не в сети

#10 15.06.2016 19:52:08

Re: Проверка на значение поле в списке выводимых обьектов

andrei24 пишет:

$offers = Offer::where('ticket_id','=',$id)->where('offer_ststus_id', 2)->get();

Я так понял, что ТС будет работать со своей оригинальной коллекцией и просто хочет проверить есть ли в коллекции offer_status_id = 2. В таком случае создавать второй запрос - очень плохая идея.

Не в сети

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