Базовая таблица или вид не найдены: 1146 Таблица Laravel 5.7 - PullRequest
0 голосов
/ 02 февраля 2019

Я получаю эту ошибку, когда пытаюсь сохранить данные в mysql, используя Laravel 5, другие методы форм и save () работают нормально, но этот:

SQLSTATE [42S02]: базовая таблица или представлениене найдено: 1146 Таблица 'datatest.about_category' не существует (SQL: вставить в about_category (about_id, category_id) значения (11, 4))

Вот мойМетод хранения контроллера:

public function store(AboutRequest $request)
{
    $about = new About();
    $about->title = $request->title;
    $about->body = $request->body;
    $about->save();
    $about->categories()->attach(request('category'));
    return redirect(route('abouts.create'));
}

А вот моя модель:

About.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class About extends Model
{
    public  $table = "abouts";
    public function categories()
    {
        return $this->belongsToMany(Category::class);
    }
}

Категория .php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    protected $table = "categories";

    public  $fillable = ['id' , 'name'];

    public function abouts(){
        return $this->belongsToMany(About::class);
    }
}

ДляО таблице

public function up()
{
    Schema::create('abouts', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->text('body');
        $table->timestamps();
    });
}

Для таблицы категорий

public function up()
{
    Schema::create('categories', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->timestamps();
    });
}

1 Ответ

0 голосов
/ 02 февраля 2019

Ваше отношение «многие ко многим» требует трех таблиц: abouts, categories и about_category.Вы не создали таблицу about_category:

Schema::create('about_category', function (Blueprint $table) {
    $table->integer('about_id')->unsigned();
    $table->integer('category_id')->unsigned();

    $table->foreign('about_id')->references('id')->on('abouts');
    $table->foreign('category_id')->references('id')->on('categories');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...