codecamp

CodeIgniter4 数据库事件

数据库类包括着一些你可以用来了解关于数据库执行过程的 事件 相关的内容。 这些事件可以用来收集数据以供分析和报告。Debug 工具条 类使用了这一特性来收集用于工具条中展示的查询语句。

事件

DBQuery

该事件会在一个新的查询语句运行完毕时触发,无论成功与否。唯一的参数就是一个当前查询语句 Query 的实例。 你可以使用该方法在标准输出流、日志文件中输出所有的查询语句,甚至创建工具自动化地分析查询语句,帮你发现潜在的索引丢失、慢查询等情况。可行的用例如下:

// 在 Config\Events.php 文件中
Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect');


// 收集所有的查询语句以备后来所需
public static function collect(CodeIgniter\Database\Query $query)
{
    static::$queries[] = $query;
}
CodeIgniter4 自定义函数调用
CodeIgniter4 数据库工具
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }