[英]Use a where query multiple times on same model
我有一個關於 Laravel 的查詢,我希望我的用戶能夠按類型過濾家庭。 我的問題是我想在查詢中多次使用它。
例如,在從 1 到 10 的 10 個復選框中,有 10 種不同類型的房屋,用戶只能單擊一種類型進行過濾,或者全部 10 種。我想將所有房屋歸還給我的用戶。
如果我必須使用orwhere
它會像 10 orwhere
在我的查詢子句中。 我想知道這是否是最好的方法:
$type_id = $request->get('type_id');
$somefiled= $request->get('somefiled');
$data = home::with('city')
->where('type_id',$type_id)->get()
->orWhere('somefiled',$somefiled)
如果用戶發送不止一種類型的主頁,請將其作為表單數據中的數組whereIn
,並使用whereIn
進行查詢:
$data = home::with('city')
->whereIn('type_id', $type_id)->get();
這將適用於一種或多種類型的選擇。 當您為類型創建數組時,您可能希望將變量重命名為復數形式以防止混淆(如$types
或$type_ids
)。
編輯
作為 whereIn 充當 Orwhere 但僅對於數組,您可以簡單地使用它而不是 orwhere 來處理多個 quesries 。
$data = home::with('city')
->whereIn('type_id', $type_id)
->whereIn('otherfields', $otherfields')
->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.