通过使用Eloquent将数据添加到单个列来更新记录



我是Laravel 6的新手,希望将数据添加到列中。我有一张名为"项目"的桌子。此表有一个名为"comments"的列。我的目的是只通过更新项目将数据添加到"注释"列。我有一个包含方法storeComment的ProjectController,如下所示:

公共函数storeComment(请求$Request,项目$Project({

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

$project->comments = $validData['comments'];
$project->save();
return redirect('home')->with('status', 'Comment created successfully');
}

问题是该方法创建了一个新记录,而不是更新现有记录。有人能帮忙吗?提前感谢

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

您需要先获取记录,然后更新该记录的注释,如下所示:

use AppProject;    
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');
}

最新更新