在 Laravel Eloquent 中,定義複雜查詢通常涉及連結多個 where 子句。雖然這種方法很實用,但它可能顯得乏味且無組織。
但是,有更好的方法來建構此類查詢。
Laravel引入了將嵌套數組傳遞給where 方法的功能,允許您指定多個條件
$query->where([ ['column_1', '=', 'value_1'], ['column_2', '<>', 'value_2'], // ... additional conditions ]);
在Laravel在的早期版本中,您可以將條件陣列直接傳遞給 where 方法。然而,這種方法僅在所有條件都需要 AND 運算子時才有效。
$matchThese = ['field' => 'value', 'another_field' => 'another_value']; $results = User::where($matchThese)->get();
Laravel 5.3 先前版本中的另一個選項是使用orWhere 方法組合多組條件。這導致了組別之間的 OR 條件。
$matchThese = ['field' => 'value', 'another_field' => 'another_value']; $orThose = ['yet_another_field' => 'yet_another_value']; $results = User::where($matchThese) ->orWhere($orThose) ->get();
透過利用這些技術,即使在處理複雜的 WHERE 條件時,您也可以編寫更有效率且可讀的查詢。
以上是如何在 Laravel Eloquent 中有效地連結 WHERE 子句以進行複雜查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!