首頁  >  文章  >  後端開發  >  如何在 Laravel Eloquent 中將 WHERE 子句與 OR 和 AND 組合?

如何在 Laravel Eloquent 中將 WHERE 子句與 OR 和 AND 組合?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-24 11:32:18699瀏覽

How to Combine WHERE Clauses with OR and AND in Laravel Eloquent?

在Laravel Eloquent 查詢中將WHERE 子句與OR 和AND 組合

在製定複雜的資料庫查詢時,通常需要將WHERE子句與兩者組合OR 和AND 運算子。這可以在 Laravel Eloquent 中使用邏輯分組來實現。

範例:

考慮查詢:

WHERE (a = 1 OR b =1 ) 與 (c = 1 或 d = 1)

解決方案:

要使用Laravel Eloquent 構造此查詢,請按照以下步驟操作:

  1. 使用where 建立匿名查詢方法。
  2. 在內部查詢中,使用 orWhere 方法組合 OR
  3. 建立另一個巢狀匿名查詢來定義 AND 條件。

產生的程式碼將如下所示:

Model::where(function ($query) {
    $query->where('a', '=', 1)
          ->orWhere('b', '=', 1);
})
->where(function ($query) {
    $query->where('c', '=', 1)
          ->orWhere('d', '=', 1);
});

注意:

雖然使用原始SQL 是更複雜查詢的一個選項,但通常建議使用Eloquent 保持可讀性並利用Eloquent 的查詢建構器功能。

以上是如何在 Laravel Eloquent 中將 WHERE 子句與 OR 和 AND 組合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn