假設我在所有數據庫表中都有字段狀態。當我想刪除,而不是清除它的記錄,我的領域地位的值設置爲0。這意味着,當然我所有的查詢將始終使用where子句,如:雄辯的ORM,如何避免多餘的查詢?
WHERE status = 1
但是,這意味着我必須在我的雄辯模型的所有方法中寫入並追加where('status','=',1)。它總是像:
Post::find(1).where('status', '=', 1)
Post::where('status', '=', 1)->get()
Post::find(1).where('status', '=', 1).comments().where('status', '=', 1)->get()
有沒有一種方法來定義的東西作爲默認範圍有哪裏狀態= 1總是出現在我的模型的所有方法和所有的時間?
我感謝任何幫助!
到這裏看看:HTTP:/ /usman.it/filter-eloquent-results-overriding-laravel/](http://usman.it/filter-eloquent-results-overriding-laravel/)使用此示例,您必須將其應用於每個模型,但你可以創建一個新的基礎模型類這個代碼,然後讓所有的模型擴展這個代碼。 – Christian 2013-04-07 22:34:13