Open3
LaravelのクエリでWhereNotしたくない?

SELECT *
FROM users
WHERE users.id > 1
AND NOT (
users.email LIKE '%@gmail.com'
AND users.age >= 18
)
みたいなクエリをLaravelで作りたいときの書き方がわからん🤷♂️

User::query()
->where('id', '>', 1)
->where(function ($query) {
$query->whereLike('email', '%@gmail.com')
->where('age', '>=', 18);
}, null, null, 'AND NOT')
->get();
こいつがアンサー、ブラックサンダーでした

LaravelのWhereの第4引数が頭に引っ付けるやつを司ってるからそこをいじってやるといい感じになるってことらしい🙌