Мои user table
и item table
связаны между собой многими отношениями, item table
имеет некоторые данные в иностранных таблицах, например color table
У меня сводная таблица, которая связывает эти два. Мой вопрос: если я хочу получить все элементы, связанные с пользователем цветом, как я могу получить их с нетерпением загрузки?Как получить нагрузку во многих отношениях в laravel 5?
Я знаю, что $user->item
доставит все предметы для этого пользователя.
Но если я хочу загрузить все элементы для этого пользователя с атрибутами цвета в одном запросе, как мне это сделать? На данный момент я пробегаем по пунктам, связанным с пользователем и отложенной загрузки каждый данных мне нужно, например
foreach($user->item as $i){
echo($i->item->color)
}
Это означает, что каждый цикл делает новый запрос ...
здесь модели:
модель Пользователь:
public function item(){
return $this->belongsToMany('App\item')->withTimestamps();
}
товар модель:
public function user(){
return $this->belongsToMany('App\User');
}
и это схема для сводной таблицы
Schema::create('item_user', function(Blueprint $table) {
$table->unsignedInteger('user_id')->unsigned()->index();
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
$table->unsignedInteger('item_id')->unsigned()->index();
$table->foreign('item_id')
->references('id')
->on('items')
->onDelete('cascade');
$table->timestamps();
});
Можете ли вы показать или модели или ваши отношения? – oseintow
опубликовано в теме – Chriz74