Laravel ищет не тот стол - PullRequest
0 голосов
/ 07 июня 2018

Я указал имя таблицы в классе модели.Laravel 5.6, PHP 7

namespace App;

use Illuminate\Database\Eloquent\Model;

class SizeProduct extends Model

{
    protected $table = 'size_product';

    protected $fillable = ['product_id', 'size_id'];
}

Это моя миграция:

class CreateSizeProductTable extends Migration
{

public function up()
{
    Schema::create('size_product', function (Blueprint $table) {
        //some code here
    });
}

public function down()
{
    Schema::dropIfExists('size_product');
}

Но я все еще получаю эту ошибку:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db_name.product_size' doesn't exist

1 Ответ

0 голосов
/ 09 июня 2018

возможно sizeproduct - это ваша сводная таблица для отношения manytomany, поэтому, как описано здесь, сводная таблица получена из алфавитного порядка названий связанных моделей (так в вашемсначала идет продукт case).

Вы можете изменить его в отношении кода, определяющего отношение:

public function products()
{
    return $this->belongsToMany(Size::class,'size_product');
}

Или вы можете создать отдельную миграцию для сводной таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...