Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Добрый день.
Необходимо узнать экземпляр модели после выборки если по условиям вернулось ноль записей.
Если вернулась минимум 1 запись, то можно легко взять класс у первого значения из списка. Но если выборка не вернула ни одной записи, то понять какую модель запрашивали не получается. Существует ли возможность это сделать? Может какие либо dataProvider есть у eloqent?
$projects = Projects::where('id' , 6)->get();
object(Illuminate\Database\Eloquent\Collection)[229]
protected 'items' =>
array (size=0)
empty
как тут я могу узнать какую модель я вызывал?
p.s. $projects передается дальше в шаблон blade и в виджет. Где мне нужно будет узнать какая модель передана (пусть даже с пустыми значениями). Еще один параметр передавать не охото.
Не в сети
Projects твоя модель. в ней же можно смотреть какую таблицу юзаешь.
protected $table = 'proj'; например..
вместо ->get(); посмотри запрос ->toSql(); что возвращает
только передается в шаблон коллекция моделей, а не модель.
Не в сети
Projects твоя модель. в ней же можно смотреть какую таблицу юзаешь.
protected $table = 'proj'; например..
вместо ->get(); посмотри запрос ->toSql(); что возвращает
только передается в шаблон коллекция моделей, а не модель.
toSql просто выводит sql запрос без биндинга параметров. Не пойму как им можно пользоваться?
Я просто пишу виджет для вывода таблицы с данными. Для этого мне нужно передать коллекцию элементов из запроса (если выборка вернула данные) и нужно вывести колонки, которые я смогу взять с модели. Но если строк 0 то не понятно какую модель запрашивали
@widget('table', [
'dataProvider' => $projects,
'columns' => [
'name'
],
'model' => App\Projects::class
])
вот не хочу писать постоянно model
Не в сети