laravel insert 、save、update、create区别(总结二)

举报
lxw1844912514 发表于 2022/03/28 00:23:45 2022/03/28
3.8k+ 0 0
【摘要】 1、insert:插入数据时,需要维护 created_at 和 updated_at字段, 2、save:无论插入或者更新,会自动维护,无需手动操作 //插入:public function store(Request $request) { $flight = new ...

1、insert:插入数据时,需要维护 created_at 和 updated_at字段,

2、save:无论插入或者更新,会自动维护,无需手动操作


        //插入:
        public function store(Request $request)
            {
                $flight = new Flight;
                $flight->name = $request->name;
                $flight->save();
            }
        //更新:
        $flight = App\Flight::find(1);
        $flight->name = 'New Flight Name';
        $flight->save();
    
   
<strong>格式: Eloquent实例->save();</strong>
  

插入操作例子中,HTTP 请求的参数 name 赋值给了 App\Flight 模型实例的 name 属性。调用 save 方法,一条记录就会插入数据库。created_at 和 updated_at 时间戳随着 save 方法的调用,会自动维护,无需手动操作

save 方法也可用于模型更新。更新模型时,需要检索到它,然后设置模型属性,再调用 save 方法。同样地,updated_at 时间戳自动更新,无需手动操作

3.update:更新操作,自动维护 updated_at字段

也可一并更新查询到的多个模型。这个例子中,所有 active 和 destination 为 San Diego 的航班都被更新为延误:


        App\Flight::where('active', 1)
                  ->where('destination', 'San Diego')
                  ->update(['delayed' => 1]);
    
   

update 方法接受一个字段为键、更新数据为值的数组

4.create 自动维护 created_at 和 updated_at两个字段

除了 save 和 saveMany 方法外,你还可以使用 create 方法。它接受一个属性数组,同时会创建模型并插入到数据库中。 还有, save 方法和 create 方法的不同之处在于, save 方法接受一个完整的 Eloquent 模型实例,而 create 则接受普通的 PHP 数组:


        $post = App\Post::find(1);
        $comment = $post->comments()->create([
            'message' => 'A new comment.',
        ]);
    
   

{tip} 在使用 create 方法前,请务必确保查看过本文档的 批量赋值 章节。

格式:create(【‘字段’=>值,组成的数组】);

参考连接: https://learnku.com/docs/laravel/5.6/eloquent-relationships/1404#3d967c

获取更多知识讲解微信搜索公众号:[ 码农编程进阶笔记]

公众号直通车

 
  

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100029041

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。