public function store(Post $post)
{
$this->validate(request(), ['body' => 'required|min:2']);
$post->addComment(request('body'));
return back();
}
这是我的代码
我有这个错误
SQLSTATE [HY000]:常规错误:1364字段' user_id'没有默认值(SQL:插入comments
(body
,post_id
,updated_at
,created_at
)值(ewrtyuttrew,1, 2018-02-15 15:44:17,2018-02-15 15:44:17))
答案 0 :(得分:2)
您需要添加手动创建评论的用户。例如:
public function addComment(string $body)
{
$this->comments()->create(['body' => $body, 'user_id' => auth()->id()]);
}
答案 1 :(得分:1)
在用户模型中,您可以将关系定义为:
public function comments() {
return $this->hasMany(Comment::class);
}
因此,如果用户是已登录用户,则可以使用验证外观检索它:
$user = Auth::user();
然后你就可以做到:
$user->comments()->save(new Comment(request('body'));
请注意,您必须设置" fillable" 评论模型上的字段,以便允许动态创建。
答案 2 :(得分:0)
字段' user_id'
打开phpmyadmin然后打开评论表
字段' user_id' =>自动增量和主键添加
试试这个我解决这个类型的问题,谢谢