Стремление загружать отношения на измененных моделях

Скажем, у меня есть модель, которая трансформирует несколько различных моделей (используя morphTo). Я пытаюсь добиться того, чтобы всякий раз, когда модель трансформировалась, все (или некоторые) отношения в этой трансформированной модели тоже загружались.

Пример кода здесь: http://laravel.io/bin/yLyz7

Когда бы я ни позвонил:

Index::with('item')->get();

В конечном итоге это приведет к запросу примерно так же для морфа:

SELECT * FROM sample_items WHERE id IN (?, ?, ?)

Это именно то, что я хочу, но я также хочу загружать любые отношения в моделях SampleItem, чтобы вместо того, чтобы каждый раз запрашивать отношение для каждого SampleItem, он также создавал бы такой запрос. Предполагая, что SampleItem имеет отношение «пользователь».

SELECT * FROM users WHERE id IN (?, ?, ?)

Есть ли способ добиться этого? Поскольку я сам не вызываю модель SampleItem, я не могу указать никаких загруженных отношений. Я предполагаю, что мне нужно будет указать это в отношении индекса, но я не могу понять, как. Я не уверен, что это даже возможно в настоящее время.

1

Решение

Оказывается проще, чем я думал.
Похоже, что указание свойства with в модели SampleItem позаботится об этом:

/**
* The relations to eager load on every query.
*
* @var array
*/
protected $with = ['user'];
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]