Я получаю эту ошибку, когда пытаюсь сохранить данные в 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();
});
}