簡體   English   中英

Laravel模型覆蓋子句在哪里?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM