我正在使用一个现有的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();
我们可以在基类中添加任何覆盖的方法,然后添加该过滤器以获取所需的数据吗?
答案 0 :(得分:0)
全球范围或本地范围如何?
https://laravel.com/docs/5.7/eloquent#global-scopes
查看应用全局范围。您可以告诉特定模型使用全局范围。
您可以指示特定查询排除范围,请参见删除全局范围