thinkphp5 如何使用查詢事件?

它是對數據庫的CURD操做事件進行了鉤子,當事件觸發時,會進行回調。php

就像是註冊事件和前置方法或後置方法相似數據庫

下面是demo數組

<?php namespace app\index\controller; use think\db\Query; use think\Db; use think\Controller; class Index extends Controller { public function _initialize() {      //parent::_initialize() 是調用父類的_initialize方法,若是你的父類_initialize函數沒有任何內容,不須要寫parent::_initialize()
        parent::_initialize(); //註冊一個select查詢事件
        Query::event('before_select',function($option,$query){ echo 'this is query event'; }); } public function index() { $blog = Db::table('blog')->select(); print_r($blog); } }

 會看到在使用查詢的同時執行了查詢事件,打印出了 'this is query event ' ,而且先於print_r($user);
其中:回調函數中有兩個參數:$options, $query
前一個表示關於當前查詢的一個數組信息,後一個就是Query對象app

相關文章
相關標籤/搜索