Laravel 5,2 красноречиво жадные загрузки выберите столбцы - PullRequest
0 голосов
/ 11 января 2020

Я создаю интерфейс API для одного из моих клиентов на сайте электронной коммерции, и я застрял.

Версия Laravel 5.2

Проблема: Невозможно выбрать указанный столбец c из загруженных моделей.

    Route::get('/product/{id}', function($id){
    return \App\Models\Product::where('id',$id)->with(
        [
            'images',
            'reviews',
            'relatedProducts' => function($query){
                $query->with('images');
            }
        ])->first(['id', 'name', 'price', 'description']); // this one is working
   });

Что я пробовал:

'relatedProducts:id,title,description' => function($query){
                $query->with('images'); 
                }

Ошибка:

enter image description here

'relatedProducts' => function($query){
                $query->with('images');
                $query->select(['id','title','description']);
            }

Примечание: relatedProducts происходит из той же таблицы, что и продукты. enter image description here

1 Ответ

1 голос
/ 11 января 2020
//...
return \App\Models\Product::where('id',$id)->with(
        [
            'images',
            'reviews',
            'relatedProducts' => function ($q) {             
               $q->select('id','title','description');
            },
            'relatedProducts.images' 
        ])->first(['id', 'name', 'price', 'description']);

//...
...