当前位置: 首页 > article >正文

laravel 重写批量添加,自动维护时间戳

laravel 自带的批量添加是不会自动维护时间戳的,意思是说,使用laravel的批量添加,时间戳字段不会插入,也不会在更新的时候进行更新。

使用继承或者trait来解决这个问题,在这里感谢Mr.wen

<?php
namespace App\Models\Traits;

use Illuminate\Support\Facades\Date;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Eloquent\Model;

trait BatchTraits
{
    public function storeBatch(array $inputs): bool
    {
        if (true === $this->timestamps) {
            $time = Date::now();
            foreach ($inputs as $key => $value) {
                if (! is_null(Model::CREATED_AT)) {
                    $inputs[$key][Model::CREATED_AT] = $time;
                }
                if (! is_null(Model::UPDATED_AT)) {
                    $inputs[$key][Model::UPDATED_AT] = $time;
                }
            }
        }
        $query = DB::connection($this->getConnectionName())->table($this->getTable());

        return $query->insert($inputs);
    }
}


http://www.kler.cn/a/146965.html

相关文章:

  • SQL MID() 函数详解
  • 剧本杀门店预约小程序,解锁沉浸式推理体验
  • 号卡分销系统,号卡系统,物联网卡系统源码安装教程
  • 机器学习(基础2)
  • 无线迷踪:陈欣的网络之旅
  • uniapp 实现tabbar分类导航及滚动联动效果
  • 关于torch.backends.deterministic和torch.backends.cudnn.benchmark
  • 解决git与huggingface项目下载速度慢或者失败的问题
  • 70-76-堆、贪心算法
  • java设计模式学习之【单例模式】
  • Spark升级中对log4j中的一些思考
  • 移动安全威胁:今天和明天的危险
  • C++类与对象(5)—流运算符重载、const、取地址
  • 《微信小程序从入门到精通》---笔记1
  • 【Github】git安装
  • 【Python】使用execute(sql)执行insert之后没有插入数据
  • 贪吃蛇小游戏基本简单布局
  • Clion+Ubuntu(WSL)+MySQL8.0开发环境搭建
  • 30天精通Nodejs--第十二天:ioredis
  • 华为OD机试 - 分月饼(Java JS Python C)
  • Vue常见的实现tab切换的两种方法
  • python大写中文转阿拉伯数字
  • C 中的指针 - 函数
  • Java游戏 王者荣耀
  • 【玩转client-go】使用client-go从POD拷贝文件出来
  • Android 13.0 开机过滤部分通知声音(莫名其妙的通知声音)