Laravel模型覆盖子句在哪里?

时间:2018-11-14 13:46:06

标签: php lumen-5.4

我正在使用一个现有的laravel应用程序,我有很多查询,所有查询都是用laravel查询生成器编写的,现在我想添加另一个where子句site_id(列)以过滤掉整个应用程序中的记录。我不想重写每个查询,而只是想以一种通用的方式摆脱这个问题。我的应用程序查询以这种方式编写。

Laravel查询生成器

DB::table('users')->where('id', $user_id)->get()

模型查询生成器

AccountTag::join('ad as a', 'a.id', '=', 'abs.account_id')
         ->select('AccountTag.*', 'a.company_name')
         ->where(array("account_id" => 'xx'))
         ->get()
         ->toArray();

我们可以在基类中添加任何覆盖的方法,然后添加该过滤器以获取所需的数据吗?

1 个答案:

答案 0 :(得分:0)

全球范围或本地范围如何?

https://laravel.com/docs/5.7/eloquent#global-scopes

查看应用全局范围。您可以告诉特定模型使用全局范围。

您可以指示特定查询排除范围,请参见删除全局范围