tp5 使用技巧(持续更新中...)

1、自动写入时间 create_time和update_time

使用save方法才行,insert方法不生效,不知为何

2、过滤字段 allowfield和strict方法
    allowfield()方法配合save方法,
    strict()方法配合insert方法,

搭配使用,不知怎的,交叉就不能过滤字段了

3、跨模型,有点像是远程一对多关联的替代

1 $list = self::with(['album','album.Image'])
2     ->where('type','neq',2)//合伙人不显示
3     ->where($where)
4     ->order("type DESC,login_num DESC")
5     ->page($page, $pageSize)
6     ->select();

 4、模型事件,参考文档:tp5的事件

 1 //修改事件
 2 protected static function init()
 3 {
 4    //如有变更积分
 5     self::beforeUpdate(function ($row) {
 6         $changedata = $row->getChangedData();
 7         if (isset($changedata['score'])) {
 8             $origin = $row->getOriginData();
 9             ScoreLog::create(['user_id' => $row['id'], 'score' => $changedata['score'] - $origin['score'], 'before' => $origin['score'], 'after' => $changedata['score'], 'memo' => '商城分红改变积分']);
10         }
11    });
12 }

调用方式如下:

1 $score = bcmul($bonus,$vvv);
2 if ($score) {
3     $row = $user_model->get($kkk);
4     $data = $row->getOriginData();
5     $score_before = $data['score'];
6     $row->validate(false)->allowField(true)->save(['score'=>$score + $score_before]);
7 }

如果想要在模型事件里增加传参,只需要往$row对象里多赋值一个属性就好了

转载于:https://www.cnblogs.com/cyfblogs/p/10235226.html

tp5 使用技巧(持续更新中...)相关推荐

  1. Python日常小技巧(持续更新中)

    目录 快速定位元组内容 对字典进行排序 json的获取(dumps,dump,loads,load) 查找字典中相同的key 统计列表中元素的个数 字典按输入顺序输出 历史记录的存储 对有多个分割符的 ...

  2. 本专栏所有力扣题目的目录链接, 刷算法题目的顺序(由易到难/面试频率)/注意点/技巧, 以及思维导图源文件问题(持续更新中)

    这篇文章为本专栏所有力扣题目提供目录链接, 更加方便读者根据题型或面试频率进行阅读, 此外也会介绍我在刷题过程中总结的刷算法题目的顺序/注意点/技巧, 最后说下文中出现的思维导图源文件的问题 和 打卡 ...

  3. 【第十三届蓝桥杯备战】C/C++解题时的一些个人小技巧和注意事项(持续更新中)

    [第十三届蓝桥杯备战]C/C++解题时的一些个人小技巧和注意事项(持续更新中) 输入输出 数组 数据结构 1. 线段树 调试 References 先说一些废话:我最近觉得写算法题就像是打格斗游戏一样 ...

  4. 网络流题目详讲+题单(提高版)(持续更新中......)

    网络流题目详讲+题单(提高版)(持续更新中......) 标签:图论--网络流 PS:如果你觉得自己还不够强(和我一样弱),可以去入门版看看 阅读体验:https://zybuluo.com/Junl ...

  5. 非常全的c盘清理方法(持续更新中)

    为了能够更好地使c盘保持清洁,在这里我会总结尽可能多的方法.这篇文章会保持持续更新中. 1.第三方工具(大多数人最常用) 这个我就不多说了,可以下载一些常用的清理工具如CCleaner,360安全卫士 ...

  6. 【计算机英语词汇和词组-持续更新中】

    推荐词典:有道词典 理由:在看外文网站的时候,可以实现 取词和划词翻译 这是 在看外文网站的时候,一点点 记录的学习笔记,归纳后方便记忆 按照 首字母顺序排列 备注的发音音标,都是美式的发音 持续更新 ...

  7. 最值得收藏的 数字图像处理 全部知识点思维导图整理(武汉大学慕课课程)(持续更新中)

    本文的思维导图根据慕课上的武汉大学数字图像处理国家精品课程整理而来并标记出重点内容 思维导图就整理了这么多,之后应该也不会更新此内容了, 有需要的可以去 我的主页 了解更多学科的精品思维导图整理 本文 ...

  8. 我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中)

    我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中) 最初写这篇文章的时候,是在今年的 9 月中旬.今天,我想再写写这将近两个多月以来的感受. 在今年的 10 月我来到北京求 ...

  9. 香港电影中的演员:A字头(持续更新中)

    作者:caocao(网络隐士) 转载请注明来源:http://www.caocao.name/ 本系列部分内容是隐士从网上采集,部分内容是隐士原创,内容持续更新中. A字头演员隐士觉得的好难找啊. 安 ...

最新文章

  1. 如何使flexbox子代的父母高度为100%?
  2. C++局部变量和全局变量的初始化
  3. 支持国产处理器仿真的全数字实时仿真平台SkyEye与可信编译器L2C的核心翻译步骤
  4. 与.NET以及微软产品相关的域名出售
  5. element-ui分页器的使用
  6. python 对比文件内容差异_Python-文件差异对比
  7. C语言printf格式化输出
  8. 软件工程课程设计-ch小说网站
  9. 最新HTML完整结构
  10. Java实验四:类和对象;类的继承和派生;多态性; 接口;构造器应用
  11. A ArrayLink for JavaME
  12. Nginx代理浏览器接口调用本地的后端接口
  13. jQuery绑定enter事件
  14. 第七章第三十一题(合并两个有序列表)(Merge two ordered tables)
  15. java语言实现修改文件名称的功能
  16. Tekton之二:如何使用 Tekton 创建 CICD 流水线
  17. EEPROM介绍及与Flash区别
  18. 小米智能插座监控设备耗电,并自动断电
  19. ev ev2 evplayer2加密视频播放器翻录录屏教程
  20. layui把表格重载为最新状态,复选框选中去重

热门文章

  1. 生信学习之通路富集一(GO分析)
  2. EasyExcel模板导出
  3. Referrer和Referrer-Policy简介
  4. java看山不是山_java线程启动原理分析
  5. 使用自定义注解实现Redis分布式锁
  6. COCI2014strojopis
  7. const修饰的常量值 http://www.nowcoder.com/test/question/done?tid=2198842qid=15952#summary
  8. Hive 3.1.2 Parquet 格式表的 rawDataSize 统计信息不正确
  9. html入门 绿叶,HTML结构 - HTML | 绿叶学习网
  10. flutter 打包出错 应用签名 报错 error