我有这样的模特。
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Item extends Model
{
public function brand()
{
return $this->belongsTo(Brand::class);
}
public function banner()
{
return $this->hasMany(Banner::class);
}
}
所以,如果我想获得带有我正在做的品牌的物品$items = Item::with('brand')->get();
但是现在我需要获得带有品牌和横幅的物品,我应该怎么做?
我是tr Item::with('brand', 'banner')->get()
但是这样的横幅是空的。
答案 0 :(得分:2)
将您要加载的所有关系作为数组传递到with()
:
$items = Item::with(['brand', 'banner'])->get();
有时您可能需要在单个操作中急切加载几个不同的关系。为此,只需将其他参数传递给
即可with
方法
https://laravel.com/docs/5.5/eloquent-relationships#eager-loading
答案 1 :(得分:0)
您可以像这样使用with方法
$items = Item::with('brand')->with('banner')->get();
或者在一个阵列中(如Alexey Mezenin所写)
$items = Item::with(['brand', 'banner'])->get();