Eloquent hasMany 反转
Eloquent hasMany Inversion
我有三个 Eloqent 模型,我想以一对多的方式相互关联(类别、子类别和样式)。 hasMany 关系正常工作,但反转 (belongsTo) 却不正常。
模型是 Paragon\Products\Category、Paragon\Products\Subcategory 和 Paragon\Products\Style。表格如下所示:
类别 Paragon\Products\Category
ID ...
1
2
子类别 Paragon\Products\Subcategory
ID Category ...
1 2
2 2
风格Paragon\Products\Style
ID Subcategory ...
1 1
2 1
关系如下所示:
类别 Paragon\Products\Category
public function subcategories() {
return $this->hasMany('Paragon\Products\Subcategory', 'category');
}
子类别 Paragon\Products\Subcategory
public function styles() {
return $this->hasMany('Paragon\Products\Style', 'subcategory');
}
public function category() {
return $this->belongsTo('Paragon\Products\Category', 'category');
}
风格Paragon\Products\Style
public function subcategory() {
return $this->belongsTo('Paragon\Products\Subcategory', 'id', 'subcategory');
}
理想情况下,我希望能够调用 $subcategory->category();并返回 Paragon\Products\Category 的实例。在我这样做的那一刻,我得到了一个返回的 Builder 实例。我假设我从我的关系中遗漏了某种获取方法...
感谢任何帮助,谢谢!
这就是你想要的
$subcategories = $subcategory->with('category') -> get();
foreach ($subcategories as $row){
}
我有三个 Eloqent 模型,我想以一对多的方式相互关联(类别、子类别和样式)。 hasMany 关系正常工作,但反转 (belongsTo) 却不正常。
模型是 Paragon\Products\Category、Paragon\Products\Subcategory 和 Paragon\Products\Style。表格如下所示:
类别 Paragon\Products\Category
ID ...
1
2
子类别 Paragon\Products\Subcategory
ID Category ...
1 2
2 2
风格Paragon\Products\Style
ID Subcategory ...
1 1
2 1
关系如下所示:
类别 Paragon\Products\Category
public function subcategories() {
return $this->hasMany('Paragon\Products\Subcategory', 'category');
}
子类别 Paragon\Products\Subcategory
public function styles() {
return $this->hasMany('Paragon\Products\Style', 'subcategory');
}
public function category() {
return $this->belongsTo('Paragon\Products\Category', 'category');
}
风格Paragon\Products\Style
public function subcategory() {
return $this->belongsTo('Paragon\Products\Subcategory', 'id', 'subcategory');
}
理想情况下,我希望能够调用 $subcategory->category();并返回 Paragon\Products\Category 的实例。在我这样做的那一刻,我得到了一个返回的 Builder 实例。我假设我从我的关系中遗漏了某种获取方法...
感谢任何帮助,谢谢!
这就是你想要的
$subcategories = $subcategory->with('category') -> get();
foreach ($subcategories as $row){
}