[英]Laravel Model Override Where Clause?
我正在一個現有的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();
我們可以在基類中添加任何重寫的方法,然后添加該過濾器以獲取所需的數據嗎?
全球范圍或本地范圍如何?
https://laravel.com/docs/5.7/eloquent#global-scopes
查看應用全局范圍您可以告訴特定模型使用全局范圍。
您可以指示特定查詢排除范圍,請參閱刪除全局范圍
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.