触发更新每个CRUD操作层上的字段5查询生成器

时间:2015-04-18 20:31:55

标签: php database laravel-5 crud

我有一个情况。我正在开发一些后端应用程序,我需要跟踪对数据进行了一些更改的最后一个用户的ID(数据库CRUD操作)。

我正在使用“查询”构建器(因为一些问题但是我跟着“查询”构建器整体用于应用程序,而eloquent仅用于用户表)。这是一个数据更重要的网站,我们希望跟踪最近改变了数据库的用户,我有大约20个表,数据正在发生变化。

现在需要的是我正在寻找一些laravel触发器,我将在一个地方编程代码,它将为每个CRUD更新。因此,每当数据发生变化时,此触发器都会更新用户的ID。我不想在每个CRUD调用上编码,所以应该有一些触发器可以帮助我们。

因为我没有使用过Eloquent。我知道我可以为我的父模型使用parent :: boot方法,并且可以使用此模型扩展其他方法。

“查询”构建器还有其他方法吗?那么有什么可以帮助。有帮助吗?

我正在使用laravel 5

2 个答案:

答案 0 :(得分:0)

Laravel会触发数据库更改的事件,我相信它illuminate.query但我没有用过这个,所以我可能会弄错。

答案 1 :(得分:0)

L5在CRUD动作中自动发生事件。即使你可以在不同时刻勾勒出行动,你也可以在L5开箱即用:

  • 创建,
  • 创建,
  • 更新,
  • 已更新,
  • 保存,
  • 已保存,
  • 删除,
  • 已删除,
  • 恢复,
  • 恢复。

请参阅Model EventsModel Observers

要听取查询构建器的事件,您可以挂钩iluminte.query事件。

Event::listen('illuminate.query', function($query, $params, $time, $conn) 
{ 
    dd(array($query, $params, $time, $conn));
});

你也可以这样听

DB::listen(function($squery, $params, $time)
{
   dd(array($query, $params, $time));
});