Laravel 5.4 |正在从 Pivot 获取数据 Table
Laravel 5.4 | Fetching data from Pivot Table
我的数据库中有 4 个表:
Table 1: 类别
---|------
id | name
---|------
1 | Cars
在'Category'模型class中我定义了以下关系:
class Category {
public function fields() {
return $this->belongsToMany('App\Field');
}
}
Table 2: 字段
id | name
---|-------
1 | Make
在'Field'模型class中我定义了以下关系:
class Field {
public function categories() {
return $this->belongsToMany('App\Category');
}
}
Table 3: Field_Options
field_id | value
---------|-------
1 | Audi
1 | BMW
在'FieldOption'模型class中我定义了以下关系:
class FieldOption extends Model
{
public function field() {
return $this->belongsTo('App\Field');
}
}
Table 4: Category_Field
category_id | field_id
------------|-------
1 | 1
现在我需要为 category_id=1 获取所有字段和 field_options。如何使用 Laravel?
实现此目的
谢谢!
首先定义Field和FieldOptions的关系
public function options() {
return $this->hasMany('App\FieldOption');
}
然后你可以像这样预加载所有关系
$category = Category::with('fields.options')->find(1);
//Get category 1, with all fields and their respectif fieldOptions
我的数据库中有 4 个表:
Table 1: 类别
---|------
id | name
---|------
1 | Cars
在'Category'模型class中我定义了以下关系:
class Category {
public function fields() {
return $this->belongsToMany('App\Field');
}
}
Table 2: 字段
id | name
---|-------
1 | Make
在'Field'模型class中我定义了以下关系:
class Field {
public function categories() {
return $this->belongsToMany('App\Category');
}
}
Table 3: Field_Options
field_id | value
---------|-------
1 | Audi
1 | BMW
在'FieldOption'模型class中我定义了以下关系:
class FieldOption extends Model
{
public function field() {
return $this->belongsTo('App\Field');
}
}
Table 4: Category_Field
category_id | field_id
------------|-------
1 | 1
现在我需要为 category_id=1 获取所有字段和 field_options。如何使用 Laravel?
实现此目的谢谢!
首先定义Field和FieldOptions的关系
public function options() {
return $this->hasMany('App\FieldOption');
}
然后你可以像这样预加载所有关系
$category = Category::with('fields.options')->find(1);
//Get category 1, with all fields and their respectif fieldOptions