Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新laravel 6中的数据_Laravel - Fatal编程技术网

更新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) {

我尝试在laravel 6中创建积垢。创建、读取和删除过程运行良好。但在更新过程中,表中的数据不会更改。有人能帮我找到问题吗?下面是我的代码

路线

控制器

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