mysql - 在 Laravel 中执行了哪些数据库触发器
问题描述
现在我正在使用中间件通过查询日志记录在 Laravel 中执行的所有查询。我的问题是是否可以记录数据库触发器发生的操作。
例如,当使用 onDelete 级联删除模型时。查询日志只显示删除查询,不显示子查询。
解决方案
触发器和级联删除超出了 Laravel 的范围,这些仅由 MySql 处理。
如果您不删除触发器和级联,您仍然可以记录查询。
例如
在您的模型中,如果要删除可以使用的子行或关联行
protected $cascadeDeletes = ['relation', 'relation2'];
$cascadeDeletes
删除也会删除整个相关模型。这些查询将由 laravel Query Logger 记录。
希望这可以帮助
推荐阅读
- java - 具有多个配置的 Spring Boot 测试
- javascript - 如何在 ReactJS 中更改按钮文本
- elasticsearch - 从弹性搜索中过滤重复的 Like url
- spring - 使用 JPA 查询数据库以获取空值
- python - 如何强制使产生子进程的进程超时
- python - 循环和浮点数
- smartcard - Java 卡本地固定大小数组可变内存存储位置
- python - Python如何查找一个数字是否在列表中但不是列表的最后一个数字?
- android - 问题:颜色显示不正确 - 为什么会这样?
- javascript - 如何使用 Google Script 解析 URL 的 HTML 并将数据插入到 Google Sheet?