Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Имею стандартную ситуацию scope в моделе:
public static function scopeGetUserStores($query, $user_id = false)
{
if (!$user_id) {
$user_id = \Auth::id();
}
$user = $query->with('store_lists')->find($user_id);
$stores = $user->store_lists->pluck('id')->toArray();
return (is_array($stores)) ? $stores : [];
});
}
По логике вещей в контролере, если у пользователя нет складов должен быть пустой масив, но так не получается в контролер возврашается
Exception.
Приходится делать дополнительную проверку в контролере, что то на подобии:
$list_stores= (is_array($stores)) ? $stores : [];
Хотя ты уже эту проверку сделал в model... И как то поменять это поведения я не могу. Так как проблема на форуме не поднималась я смею догадываться что чего то не знаю просто, а решается она достаточно легко - может подскажет кто ?
Ps: логичный вариант словить Exception тоже не проходит....
try {
$stores = $user->store_lists->pluck('id')->toArray();
} catch (\Exception $e) {
return [];
}
Изменено s_vadim (19.04.2016 09:17:53)
Не в сети