Laravel Collection Get метод работает не так, как ожидалось

Я попробовал следующее в php artisan tinker:

  >>>  $contract = \App\ContractHour::where('user_id', '=', 14)->get();
=>  Illuminate\Database\Eloquent\Collection {#747
all: [...]
}

>>>  $contract->where('day_of_wk', 1);
=> Illuminate\Database\Eloquent\Collection {#719
all: [
App\ContractHour {#726
user_id: 14,
day_of_wk: 1,
start_time: "09:00:00",
end_time: "05:00:00",
break_time: "01:00:00",
created_at: "2016-01-09 17:49:22",
updated_at: "2016-01-09 17:49:22",
},
],
}
>>> $contract->where('day_of_wk', 1)->get('start_time');
=> null

Почему метод get возвращает ноль, когда явно start_time существует?

2

Решение

Вы используете метод get () неправильно.
Что он делает, так это возвращает коллекцию, если вам нужен только один элемент, соответствующий вашим критериям, тогда попробуйте использовать first ().

$contract->where('day_of_wk', 1)->first()->start_time; //outputs 09:00:00
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]