我已经成功添加了我的表格,包括我的数据透视表。我的表格为managers
categories
和categories_manager
(数据透视表)。当我从类别控制器保存数据时,我收到类似
" SQLSTATE [42S02]:未找到基表或视图:1146表 ' system.category_manager'不存在(SQL:insert into
category_manager
(category_id
,created_at
,updated_at
,manager_id
)值(2017年9月1日13:39:12,2017-10-09 13:39:12, 1))`
无论如何我是新手
PS:我已经保存了用户列表。此外,即使我收到错误,数据也会保存到类别表中,但不会保存到数据透视表
经理型号
public function categories()
{
return $this->belongsToMany('App\Category')
->withTimestamps();
}
类别模型
public function managers()
{
return $this->belongsToMany('App\Manager')
->withTimestamps();
}
类别控制器
public function store(CategoryFormRequest $request)
{
$user = User::find(1);
$category = new Category(array(
'category_name' => $request->get('name'),
));
$user->categories()->save($category);
return redirect('/categories/create')->with('status','Category successfully created');
}
答案 0 :(得分:1)
Laravel使用约定优于配置,这意味着遵循简单的约定可以避免复杂的配置。
数据透视表的名称应由两个表的单数名称组成,由非核心符号分隔,这些名称应按字母顺序排列。
因此您的数据透视表名称应为category_manager
,但您说您创建的名称为categories_manager