簡體   English   中英

在同一模型上多次使用 where 查詢

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

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