我想创建一个按用户分类的帖子,我的表
user
id_user
category
id_category
post
id_post
user_id
category_id
这是我的模特
//User.php
public function post()
{
return $this->hasMany('App\Post');
}
//Post.php
public function user()
{
return $this->belongsTo('App\User');
}
//Category.php
public function post()
{
return $this->hasMany('App\Post');
}
和Request
:
//CreatePostRequest.php
class CreatePostRequest extends Request {
public function authorize()
{
return true;
}
public function rules()
{
return [
'title' => 'required:min',
'description' => 'required',
'category_list' => 'required'
];
}
}
我试过了
$post= Auth::user()->post()->create($request->all());
但有错误“SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败(laravelproj
。posts
,CONSTRAINT posts_category_id_foreign
FOREIGN KEY(category_id
)REFERENCES categories
(id_category
)ON DELETE CASCADE)(SQL:插入posts
(title
,description
,{{ 1}},user_id
,updated_at
)值(可以购买的东西Lorem ipsum dolor sit amet4,2015-12-08 06:47:42,2015-12-08 06:47:42,?, ?))”。
怎么解决这个?抱歉英文不好
答案 0 :(得分:0)
创建发布时出现此错误的原因是数据库中没有与您传递给的 id_category 相匹配的类别创建()即可。