Laravel вывести только нужные поля из таблицы

228
12 мая 2018, 14:20

Такое обращение выводит все поля из объединенных таблиц

$model = Model::with('table1', 'table2')
                ->whereHas('table1',function($t)use($fackt){ 
                    $t->where('name','LIKE','%'.$fackt.'%');
                })
                ->get()

На больших таблицах вывод всех полей не самое скоростное решение, как вывести только нужные мне поля? Пробовал использовать такой вид запроса, но он отрабатывает не правильно

 $model = Model::select('col1', 'col2')->with('table1', 'table2')
                ->whereHas('table1',function($t)use($fackt){ 
                    $t->where('name','LIKE','%'.$fackt.'%');
                })
                ->get()
Answer 1
$model = Model::select(['col1', 'col2'])->with('table1', 'table2')
                ->whereHas('table1',function($t)use($fackt){ 
                    $t->select(['id', 'column1', 'column2'])->where('name','LIKE','%'.$fackt.'%');
                })
                ->get()

Только нужно выбирать еще те поля, вроде бы, по которым laravel связывает ваши модели

READ ALSO
Mysql ON DUPLICATE KEY несколько полей

Mysql ON DUPLICATE KEY несколько полей

Как обновить несколько полей а не одно при DUPLICATE KEY

243
Передача переменной в контроллер через routes.php

Передача переменной в контроллер через routes.php

Подскажите, как в ларавель передать переменную через роут?

211