首页 > 解决方案 > 在 Laravel 中执行了哪些数据库触发器

问题描述

现在我正在使用中间件通过查询日志记录在 Laravel 中执行的所有查询。我的问题是是否可以记录数据库触发器发生的操作。

例如,当使用 onDelete 级联删除模型时。查询日志只显示删除查询,不显示子查询。

标签: mysqllaravellogging

解决方案


触发器和级联删除超出了 Laravel 的范围,这些仅由 MySql 处理。

如果您不删除触发器和级联,您仍然可以记录查询。

例如

在您的模型中,如果要删除可以使用的子行或关联行

protected $cascadeDeletes = ['relation', 'relation2'];

$cascadeDeletes删除也会删除整个相关模型。这些查询将由 laravel Query Logger 记录。

希望这可以帮助


推荐阅读