代码之家  ›  专栏  ›  技术社区  ›  user8000871

如何将用户对Laravel的评论关联起来?

  •  1
  • user8000871  · 技术社区  · 6 年前
    public function store(Post $post)
    {
        $this->validate(request(), ['body' => 'required|min:2']);
    
        $post->addComment(request('body'));
    
        return back();
    }
    

    这是我的密码

    我有这个错误 SQLSTATE[HY000]:一般错误:1364字段“user\u id”没有默认值(SQL:插入到 comments ( body , post_id , updated_at , created_at )数值(ewrtyuttrew,12018-02-15 15:44:172018-02-15 15:44:17))

    3 回复  |  直到 6 年前
        1
  •  2
  •   Alexey Mezenin    6 年前

    您需要添加手动创建注释的用户。例如:

    public function addComment(string $body)
    {
        $this->comments()->create(['body' => $body, 'user_id' => auth()->id()]);
    }
    
        2
  •  1
  •   Santiago Toledo    6 年前

    在您的 使用者 模型您可以将关系定义为:

    public function comments() { 
        return $this->hasMany(Comment::class);
    }
    

    因此,如果用户是已登录的用户,则可以使用 认证 外观:

    $user = Auth::user();
    

    然后,您可以简单地执行以下操作:

    $user->comments()->save(new Comment(request('body'));
    

    请注意,必须在 议论 模型以允许动态创建。

        3
  •  0
  •   Boghani Chirag    6 年前

    字段“user\u id”

    打开phpmyadmin并打开comments表,然后在

    字段“user\u id”=>自动递增和主键添加

    试试这个,我解决这类问题,谢谢