именование таблиц во многих отношениях

Я беспокоился об автоматических именах таблиц в отношениях многих ко многим Laravel.

например:

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

когда изменить имя таблицы на:

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

У меня ошибка в моих отношениях.

Что случилось с product_feature?

14

Решение

Соглашение об именах сводных таблиц в Laravel — это имена таблиц в единственном числе в алфавитном порядке, разделенные подчеркиванием. Итак, если одна таблица features, а другая таблица 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');
}
32

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]