【发布时间】:2016-04-05 13:15:25
【问题描述】:
我正在创建一个更改日志系统,用于复制对表所做的更改。这个函数本质上使用了 beforeUpdate() 钩子,并允许我为该表在 ChangeLog 中制作旧数据的副本。我还想用一些特定的信息来标记它,例如发出请求的 IP 地址和发出请求的用户 ID。
用户 ID 存储在 BaseController 类内部的全局变量中,任何控制器都可以使用 $this->userId 访问该变量,但是,我不希望将用户 ID 显式传递给每个模型调用,所以我希望能够从我的各种模型中访问 $this->userId,但 laravel 模型显然不允许您通过仅引用 $this->userId 来与控制器对话。
谁能告诉我如何解决这个问题?我已经挖掘了几个小时,但找不到任何我需要的东西?
非常感谢, 韦德
【问题讨论】:
-
我正在使用 Laravel 4
-
如果您不想传递依赖项,您可以将 ID 存储在会话中并在任何您想要的地方获取它
-
这看起来是个不错的建议,然后它可以在整个会话中使用,而无需指定特定模型。如果可以的话,我会给这个^,但谢谢!
-
我已经发布了一个答案,添加了另一种选择
标签: php laravel laravel-4 model global