2014-10-11 2 views
1

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

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

Всякий раз, когда я назвал бы:

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

Это в конечном счете приведет в запросе как и для морфа:

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

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

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

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

ответ

0

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

/** 
* The relations to eager load on every query. 
* 
* @var array 
*/ 
protected $with = ['user']; 
Смежные вопросы