更新laravel 6中的数据
我尝试在laravel 6中创建积垢。创建、读取和删除过程运行良好。但在更新过程中,表中的数据不会更改。有人能帮我找到问题吗?下面是我的代码 路线 控制器更新laravel 6中的数据,laravel,Laravel,我尝试在laravel 6中创建积垢。创建、读取和删除过程运行良好。但在更新过程中,表中的数据不会更改。有人能帮我找到问题吗?下面是我的代码 路线 控制器 public function index() { $blog = DB::table('blog')->get(); return view('blog',['blog' => $blog]); } public function edit($id) {
public function index()
{
$blog = DB::table('blog')->get();
return view('blog',['blog' => $blog]);
}
public function edit($id)
{
$blog = DB::table('blog')->where('blog_id', $id)->get();
return view('edit', ['blog'=>$blog]);
}
public function update(Request $request)
{
DB::table('blog')->where('blog_id',$request->blog_id)->update([
'blog_title' => $request->title,
'author' => $request->author]);
return redirect('/blog');
}
看法
@foreach($n)
{{csrf_field()}}
标题
作者
更新
@endforeach
您必须在路线中提供id
路由::post('/blog/update/{id}','BlogController@update');
在更新方法中添加参数id,然后根据id查找产品
公共功能更新(请求$Request,$id)
{
DB::table('blog')->其中('blog_id',$id)->更新([
“博客标题”=>$request->title,
“author'=>$request->author]);
返回重定向('/blog');
}
@foreach($n)
{{csrf_field()}}
标题
作者
更新
@endforeach
尝试将更新分成两条语句,如下所示
$blog = DB::table('blog')->where('blog_id',$id)->first();
$blog->update([
'blog_title' => $request->title,
'author' => $request->author]);
此外,您可能希望在将来使用模型,以便像这样做
$blog = Blog::where('blog_id',$id)->first();
不会真正缩短您的代码,但它提高了可读性。请按照以下方式进行更新:
public function update(Request $request)
{
$post = DB::table('blog')->where('blog_id',$request->blog_id)->first();
$post->blog_title = $request->title;
$post->author = $request->author;
$post->update();
return redirect('/blog');
}
你有错误吗?你的Laravel日志里什么都没有?表单中缺少
@方法('patch')
。尝试将$request->blog_id更改为$request->input('blog_id');并且您不会将该id与您的操作一起发布=“/blog/update”。可能会将其更改为:/blog/update/{{$n->id}}我已经尝试过更改,但仍然出错您的意思是我们必须在表中添加id?我正在使用blog\u id作为主键。无需添加新的id列,请使用blog\u id而不是id
$blog = DB::table('blog')->where('blog_id',$id)->first();
$blog->update([
'blog_title' => $request->title,
'author' => $request->author]);
$blog = Blog::where('blog_id',$id)->first();
public function update(Request $request)
{
$post = DB::table('blog')->where('blog_id',$request->blog_id)->first();
$post->blog_title = $request->title;
$post->author = $request->author;
$post->update();
return redirect('/blog');
}