Выберите конкретные поля в Eloquent нетерпение загрузки не работает - PullRequest
0 голосов
/ 31 мая 2018

У меня есть Notifications модель, которая принадлежит User.Я хочу загрузить пользователя, когда выбран набор уведомлений, и загружать модель только с names и emails.Однако при использовании метода select запрос возвращает значение NULL.

$notifications->load(['user' => function($query){
    $query->select(["name","email"]);
}]);

Если параметр для метода select() задан, как показано ниже, он дает все поля:

$notifications->load(['user' => function($query){
    $query->select(["*"]    
}]);

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Просто нужно было добавить столбец первичного ключа, и это работало нормально.

$notifications->load(['user' => function($query){
    $query->select(["ID","name","email"]);
}]);

Таким образом в запрос могут быть добавлены любые ограничения.

0 голосов
/ 31 мая 2018

Может быть, выбор полей выглядит следующим образом:

$notifications->load('user:id,name,email');

То, что вы пытаетесь, предназначено для добавления ограничений, а не для выбора некоторых полей

...