zoukankan      html  css  js  c++  java
  • thinkphp6.0模型篇之模型和数据库事件

    一、数据库事件

    1、执行增删改查的时候,可以触发一些事件来执行额外的操作
    2、这些额外的事件可以部署在构造方法里等待激活执行
    3、数据库事件执行方法为Db::event(‘事件名’,‘执行函数’),具体事件名如下
    在这里插入图片描述
    4、数据库事件只正常find、select、update、delete、insert这几个方法
    5、在控制器端,事件一般可以写在初始化方法里,方便统一管理

    public function initialize()
    {
        Db::event('before_select',function ($query)
        {
        echo '执行了批量查询操作';
        });
        Db::event('after_update',function ($query)
        {
        echo '执行了修改操作';
    }

    二、模型事件

    1、支持的事件类型更加的丰富,具体如下
    在这里插入图片描述
    2、在模型端使用静态方法调用即可完成事件触发

    protected static function onAfterRead($query)
        {
            echo '执行了查询方法';
        }
        protected static function onBeforeInsert()
        {
            echo '修改前';
        }
        protected static function onAfterInsert()
        {
            echo '修改成功';
        }
  • 相关阅读:
    UVA11825 Hackers' Crackdown
    UVA 11346 Probability
    Codeforces 12 D Ball
    bzoj 4766: 文艺计算姬
    Codeforces 757 F Team Rocket Rises Again
    [HAOI2011] problem C
    Atcoder 3857 Median Sum
    bzoj4399 魔法少女LJJ
    bzoj2638 黑白染色
    bzoj4197 [Noi2015]寿司晚宴
  • 原文地址:https://www.cnblogs.com/laijinquan/p/13823999.html
Copyright © 2011-2022 走看看