0

我正在开发一个现有的 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();

我们可以在基类中添加任何重写的方法并添加过滤器来获取所需的数据吗?

4

1 回答 1

0

全局作用域或局部作用域怎么样?

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

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

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

于 2018-11-14T13:54:29.053 回答