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

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

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

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

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

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

公众号直通车

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112317.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ubuntu安装qt教程_配置溶液的步骤

    ubuntu安装qt教程_配置溶液的步骤Qt是一个跨平台的C++图形用户界面库,我们平时所说所使用的Qt,准确的来说是它的GUI编程部分。Qt提供给应用程序开发者建立图形用户界面所需要的功能,并且Qt很容易扩展。基本上,Qt和XWindow上的Motif、Openwin、GTK等图形界面库和Windows平台上的MFC、OWL、VCl以及ATl是相同类型的东西。1.下载Qtqt下载地址2.安装Qt本人安装的是qt-opensource-linux-x64-5.9.5.run打开终端,输入命令:“sudochmod-R777q

  • scratch编程谷歌小恐龙游戏[通俗易懂]

    scratch编程谷歌小恐龙游戏[通俗易懂]请点击右上角蓝字关注微信公众号!你知道吗?谷歌浏览器有一个很有趣的小彩蛋,那就是在没有链接上网络时随便打开一个网页,会显示出未连接上互联网,并且下面有一个小恐龙的造型,按下空格后就可以玩一个类似跑酷的小游戏:下面是本作者做的效果:基本上差不多,现在我们就来编程吧!首先我们要画出各种角色及造型,本作者是一张一张截屏抠图的:恐龙的造型:程序是非常简单的:恐龙奔跑速度要越来越快哦!特简单吧?接下来看障碍物——仙人掌:仙人掌移动速度会越来越快小鸟的程序:来看看作为装饰用的云

  • kfold参数_kinfolk中文版

    kfold参数_kinfolk中文版sklearn中的KFold与StratifiedKFold函数的使用

  • 如果要学习web前端开发,需要学习什么?

    如果要学习web前端开发,需要学习什么?遇到很多新手,都会问,如果要学习web前端开发,需要学习什么?难不难?多久能入门?怎么能快速建一个网站?工资能拿到多少?还有些让我推荐一些培训机构什么的要去学习。我建议是自学,实在是觉得自己没有这个能

  • S3C2440 LED驱动总结

    S3C2440 LED驱动总结1.电路图2.使用说明此驱动实现二种操作模式: 普通操作模式:./LedTest<led1/led2/led3><on/off> 点亮或熄灭某个LED灯 掩码操作模式:./LedTestled_mask led_mask只能是:000、001、010、011….111 可以同时设置三个LED,对应1位置的LED被点亮,对应0位置熄灭…

  • iOS推送SDK集成对比

    iOS推送SDK集成对比

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号