【问题标题】:Update a record by adding data to a single column with Eloquent使用 Eloquent 通过将数据添加到单个列来更新记录
【发布时间】:2020-03-30 19:16:46
【问题描述】:

我是 Laravel 6 的新手,想将数据添加到列中。我有一张名为“项目”的表格。该表有一个名为“cmets”的列。我的目的是仅通过更新项目将数据添加到“cmets”列。 我有一个包含方法 storeComment 的 ProjectController,如下所示:

public function storeComment(Request $request, Project $project) {

    $validData = $request->validate([
        'project_id'    => 'required',
        'comments'      => 'required'
    ]);


    $project->comments = $validData['comments'];

    $project->save();

    return redirect('home')->with('status', 'Comment created successfully');
}

问题在于该方法会创建新记录而不是更新现有记录。有没有人可以帮忙?提前致谢

【问题讨论】:

    标签: php laravel eloquent sql-update


    【解决方案1】:

    public function updateComments(Request $request, $id)
    {
      $projects = Project::find($id);
      $projects->comments = $request->comments;
      $projects->save();
    }

    【讨论】:

      【解决方案2】:

      您需要先获取记录,然后像这样更新该记录的 cmets:

      use App\Project;    
      
      public function storeComment(Request $request) {
         $request->validate([
              'project_id'    => 'required',
              'comments'      => 'required'
          ]);
      
         $project = Project::find($request->project_id);
         $project->comments = $request->comments;
         $project->save();
      
         return redirect('home')->with('status', 'Comment created successfully');
      }
      

      【讨论】:

      • 欢迎天马1970
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      相关资源
      最近更新 更多