Нетерпеливый-загрузка только некоторых свойств

Нетерпеливый-загрузка только некоторых свойств

28.05.2016 09:29:45 Просмотров 39 Источник

У меня есть две модели: Questionи Answer. Вопрос имеет-много ответов. Чтобы нетерпеливо загрузить ответы на вопрос, нужно написать его так:

$question->load('answers');

Однако все свойства ответов загружаются таким образом. Следующий код, иллюстрируя то, что я хочу достичь, не работает:

$quesiton->load('answers')->select('id', 'body')

Итак, как я могу загружать ответы на вопросы только с их соответствующим idи свойствами тела?

У вопроса есть решение - Посмотреть?

Ответы - Нетерпеливый-загрузка только некоторых свойств / Eager-loading only some of the properties

Является ответом!
Marcin Nabiałek

28.05.2016 11:56:39

Вы должны попробовать это:

$question->load(['answers' => function ($query) {
    $query->select('id', 'body', 'question_id');
}]);

Как вы видите, этого может быть недостаточно, чтобы загрузить только idи body. Предполагая, что у вас есть Answerмодели ответовquestion_id, иначе ответы не будут назначены на вопросы.

https://stackoverflow.com/questions/37502503/eager-loading-only-some-of-the-properties/37503662#comment62502651_37503662
@AlexanderLomia всегда пожалуйста. Это getчасть была моя очевидная ошибка :)
vguerrero

17.12.2019 09:20:29

Использование двоеточия для указания столбцов также допустимо:

$question->load('answers:id,body');
Помочь в развитии проекта:
Закрыть X