我正在尝试使用自定义的数据库结构构建 Laravel 应用程序。我有表types
, units
,content
和一个名为 的数据透视表relations
。表的结构relations
是这样的:
---------------------------------------------
| id | relation_type | first_id | second_id |
---------------------------------------------
| 1 | type_unit | 1 | 2 |
---------------------------------------------
| 2 | unit_content | 2 | 3 |
---------------------------------------------
换句话说,前三个表之间是多对多关系,第四个是所有关系的透视表。如何将 Eloquent 的BelongsToMany
方法与此数据透视表结构一起使用,即如何仅选择与给定关系相关的数据透视表记录?例如,我将如何只使用 type_unit 关系:
class Type extends Eloquent {
public function units()
{
return $this->belongsToMany('Unit', 'relations');
}
}
但同时忽略 unit_content 关系?