[Day 13] Update 更新资料

现在有几个collection在ProductController.php中

public function getData(){
        return collect([
            collect([
                'id' => 0
                'fruit' => 'apple',
                'price' => '每袋50元',
                'origin' => '日本'
            ]),
            collect([
                'id' => 1
                'fruit' => 'banana',
                'price' => '每袋70元',
                'origin' => '台湾'
            ])
        ]);
    }

终端机执行php artisan route:list查看路由路径
https://ithelp.ithome.com.tw/upload/images/20210928/20142046AdG0EJk6Gn.png

Update

从route list可以看到Update要使用PUT Method,路径products/{product}是指网址後面还要指定的id参数({product})
现在假设要更新id为0的资料,到Postman建立新的测试api页,选择PUT Method,选择Body/x-www-form-urlencoded(在laravel架构PUT/PATCH Method的资料传递方式)打上要更新的资料。
https://ithelp.ithome.com.tw/upload/images/20210928/20142046kd08b49gLd.png
检查资料是否有传递到後端

public function update(Request $request, $id)
    {
        dd($request->all()); //dd()和dump用法相似,但使用dd()显示资料後就会停止
        dump('不会被显示出来');
    }

确定有取得资料
https://ithelp.ithome.com.tw/upload/images/20210928/20142046PYEBSi0PFN.png

public function update(Request $request, $id)
    {
        $update = $request->all();
        $data = $this -> getData();
        $selected = $data -> where('id',$id)->first(); //选择指定id的资料,first()可以直接取得该笔资料
        $selected = $selected->merge(collect($update)); //将指定的资料更新成新的资料
        return response($selected);
    }

资料就被更新完成了~
https://ithelp.ithome.com.tw/upload/images/20210928/20142046z8y7MokyNu.png


<<:  Gin 表单

>>:  Day15:全端工程师的工作内容?(下)

食谱资料库架构图

MySQL 学习 由於Icebear在学习创建资料库时,FORGIEN KEY 後面都会有ON DE...

Day10-React Hook 篇-打造自己的 Hook:Custom Hook

经过前面几天的介绍,我们认识了许多常使用的 hooks,不过除了那些 hooks 之外,我们也可以将...

Day24-DIY总是比较麻烦 如何建立chart

在上一章我们使用的仓库内的chart,这章後面会介绍怎麽建立自己的chart,不过在建立自己的的ch...

JavaScript Day31 - 系列目录

目录 JavaScript Day01 - 说明 说明与工具 JavaScript Day02 - ...

恶意程序分析篇

今天开始进入我不熟悉der领域惹 首先是恶意程序分析篇, 身边有朋友工作是与恶意程序分析相关的, 本...