在Laravel 5.1中以干净的方式附加用户ID以保存/更新/创建

时间:2015-10-04 19:58:13

标签: php laravel laravel-5 eloquent laravel-5.1

所以我有很多控制器将由一个用户创建。因此,在每次保存/创建/更新时,我希望将用户的ID保存在数据库中的资源的user_id列中。

我知道在实际的数据库更新之前,我可以像

一样
$resource->user_id = Auth::user()->id;

但这看起来非常不干净,我不想为我在多个控制器上传播的所有创建/更新操作执行此操作。

解决此问题的最佳和最干净的方法是什么?

2 个答案:

答案 0 :(得分:2)

如果您使用Eloquent ORM来定义$ resource,您可以为该模型定义事件,该事件将在该模型的每次创建,更新,保存,删除或恢复操作之后或之前执行(如果您愿意)。您可以在此处查看文档:{​​{3}}

答案 1 :(得分:1)

创建一个挂钩到模型的保存事件的特征,并在那里设置用户ID。