我担心在多对多的Laravel关系中自动命名表。
例如:
Schema::create('feature_product', function (Blueprint $table) {
将表名更改为:
Schema::create('product_feature', function (Blueprint $table) {
我的关系中有错误。
product_feature
有什么问题?
答案 0 :(得分:42)
Laravel的数据透视表的命名约定是按字母顺序用下划线分隔的单个表名。因此,如果一个表为products
,另一个表为feature_product
,则数据透视表将为product_feature
。
您可以自由使用任何所需的表名(例如belongsToMany()
),但是您需要在关系中指定数据透视表的名称。这是使用// in Product model
public function features()
{
return $this->belongsToMany('App\Feature', 'product_feature');
}
// in Feature model
public function products()
{
return $this->belongsToMany('App\Product', 'product_feature');
}
函数的第二个参数完成的。
Date.TryParseExact