对对某个模型的每个有说服力的调用运行查询


Run a query on every eloquent call to a certain model

在Laravel 4.2中,是否可以添加一个自动调用的条件,就像自动检查is_deleted一样,但只针对一个模型?

我可以手动添加这些检查,但是有几个地方需要一遍又一遍地编写相同的代码,并且有几个人在项目中工作,我认为有人忘记一次检查的可能性有点高。

虽然不是完全必要的,但我希望它带有禁用检查的选项,就像withTrashed()的工作方式一样。

Eloquent提供了一种机制,允许在给定模式下运行的所有查询上应用选定的操作——全局作用域。您可以在文档中阅读它们:http://laravel.com/docs/5.0/eloquent#global-scopes

看这里的例子:Laravel 5.1多租户设置

它做的正是你需要的-总是添加一个约束user_id到所有查询运行