我使用擴展generic_model的模型,這反過來擴展了雄辯。 (所以我有幾個使用的crud方法已經被設置爲繼承)。laravel設置自動where子句
很多我用調用軟刪除的表,這需要哪里哪里刪除= 0
的條款有沒有一種方法,使以這樣的方式,這個where子句自動包含在laravel行爲所有查詢和所有查詢都與彼此相關的對象相關聯。
例如
頁其中id = 5,刪除= 0 然後 圖像,其中PAGE_ID = 5和刪除= 0
我使用擴展generic_model的模型,這反過來擴展了雄辯。 (所以我有幾個使用的crud方法已經被設置爲繼承)。laravel設置自動where子句
很多我用調用軟刪除的表,這需要哪里哪里刪除= 0
的條款有沒有一種方法,使以這樣的方式,這個where子句自動包含在laravel行爲所有查詢和所有查詢都與彼此相關的對象相關聯。
例如
頁其中id = 5,刪除= 0 然後 圖像,其中PAGE_ID = 5和刪除= 0
如果你使用laravel 3這就是你需要
您的手機型號
public function query()
{
$query = parent::query();
$query->where('deleted','=','0');
return $query;
}
如果你使用laravel 4只改變方法查詢newQuery
public function newQuery()
{
$query = parent::newQuery();
$query->where('deleted','=','0');
return $query;
}
在關係中,你可以在你的回報加上where_clause:
public function pages()
{
return $this->has_many('Page')->where_deleted(0);
}
在你型號,您可以添加類似:
public static function active()
{
return self::where_delete(0)->get();
}
使用Page::active()
代替Page::all()
(或者你可以刪除模型的功能->get()
,所以你仍然可以進一步修改您的查詢(Page::active()->order_by('name')
)
嗨,newQuery不適用於Laravel 4,你有想法如何在Laravel 4中做到這一點? – edi9999
我修改了它來支持Laravel 4 – AMIB