在许多关系中命名表格

时间:2016-01-20 10:26:45

标签: php laravel laravel-5 eloquent laravel-migrations

我担心在多对多的Laravel关系中自动命名表。

例如:

Schema::create('feature_product', function (Blueprint $table) {

将表名更改为:

Schema::create('product_feature', function (Blueprint $table) {

我的关系中有错误。

product_feature有什么问题?

1 个答案:

答案 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