【发布时间】:2017-10-02 23:46:42
【问题描述】:
我正在使用 Laravel eloquent 来设计我的数据库。
Eloquent 有一个 naming convention 用于命名多对多多态关系。如果初始表的名称是comments,那么数据透视表应该命名为commentable。如果是documents,那么documentable等等。
但是如果源表是companies,我应该如何命名我的数据透视表?
【问题讨论】:
我正在使用 Laravel eloquent 来设计我的数据库。
Eloquent 有一个 naming convention 用于命名多对多多态关系。如果初始表的名称是comments,那么数据透视表应该命名为commentable。如果是documents,那么documentable等等。
但是如果源表是companies,我应该如何命名我的数据透视表?
【问题讨论】:
约定如您所描述,但 Laravel 不会强迫您使用该命名约定。只要您在模型关系中记下这一点,您就可以随意使用任何名称,例如:
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
话虽如此,惯例可能会说您应该写“companyable”,这听起来很奇怪。
【讨论】: