我应该如何命名一个 Eloquent 多态 table?
How should I name an Eloquent polymorphic table?
我正在使用 Laravel eloquent 来设计我的数据库。
Eloquent 有一个 naming convention 用于命名多对多多态关系。如果初始table的名字是comments
,那么枢轴table应该被命名为commentable
。如果是documents
,则documentable
,依此类推
但是如果来源 table 是 companies
,我应该如何命名我的枢轴 table?
约定如您所述,但 Laravel 不会强制您采用该命名约定。你可以随意使用任何你喜欢的名字,只要你在模型关系中记下它,比如:
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
也就是说,惯例可能会说你应该写 "companyable",尽管听起来很奇怪。
我正在使用 Laravel eloquent 来设计我的数据库。
Eloquent 有一个 naming convention 用于命名多对多多态关系。如果初始table的名字是comments
,那么枢轴table应该被命名为commentable
。如果是documents
,则documentable
,依此类推
但是如果来源 table 是 companies
,我应该如何命名我的枢轴 table?
约定如您所述,但 Laravel 不会强制您采用该命名约定。你可以随意使用任何你喜欢的名字,只要你在模型关系中记下它,比如:
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
也就是说,惯例可能会说你应该写 "companyable",尽管听起来很奇怪。