何,我得到belongsTo()和hasMany()与结果的关系?

时间:2017-12-11 09:16:55

标签: laravel eloquent

我有这样的模特。     

  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()但是这样的横幅是空的。

2 个答案:

答案 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();