zoukankan      html  css  js  c++  java
  • laravel insert 、save、update、create区别(总结二)

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

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

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

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

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

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

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

    AppFlight::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 = AppPost::find(1);
    
    $comment = $post->comments()->create([
        'message' => 'A new comment.',
    ]);

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

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

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

    
    
  • 相关阅读:
    Windows10环境下使用VisualSVN server搭建SVN服务器
    2020年最详细springboot官方最新版2.2.5版本教程
    IntelliJ IDEA使用(二):tomcat和jetty配置
    图文详解 Intellij IDEA配置Jetty
    intellij IDEA配置tomcat
    使用IntelliJ IDEA 配置JDK(入门)
    跟武哥一起学习Spring Boot
    项目验收文档模板
    软件项目开发,交付文档(全)
    程序员的工作交接
  • 原文地址:https://www.cnblogs.com/lxwphp/p/10880644.html
Copyright © 2011-2022 走看看