Help us understand the problem. What is going on with this article?

Laravelのクエリビルダで条件の優先順位に変えるにはクロージャーを使う

More than 1 year has passed since last update.
コード例
User::where(function ($query) use ($hoge) {
    $query->orWhere('hoge', $hoge)->orWhere('fuga', 1);
})->(省略)

sql例
select * from table_names where (columnA = A or columnB = B) and (columnC = C or columnD = D);

sqlは雰囲気です。エラーになりそうです:sweat_smile:

AND条件のほうがORよりも優先度が高く、意図したSQLにならない場合があります。
そんなときは、クロージャを使って書くとカッコが挿入され、優先順位を変えることができます。

Laravel 5.8 データベース:クエリビルダ
パラメータのグループ分け

smith30のエンジニア日誌
mysqlでの論理演算子の優先順位

yoshinyan
Webアプリケーションエンジニア。 PHP/Laravel/JavaScript/Vue.js/Ruby/Rails
https://yoshinyan99.hatenablog.com/
yyphp
PHPerが毎週集まり、ざっくばらんに情報交換する雑談コミュニティ
https://yyphp.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away