Closed ozgurg closed 3 years ago
Selamlar @ozgurg ,
Aslında ikinci grouped
içerisindeki builder'a ->orWhere
diye başlaman yeterli olacaktır. Aslında yazdığın sorguyu gruplarken, sorguyu yazmaya devam ediyorsun ve ilk şart olarak orWhere
belirtirsen, gruplama işlemi OR
olarak devam eder. Sonrasında bağlayacağın diğer şartlar, grubun içerisini kapsayacak ama.
Selamlar @ozgurg , Aslında ikinci
grouped
içerisindeki builder'a->orWhere
diye başlaman yeterli olacaktır. Aslında yazdığın sorguyu gruplarken, sorguyu yazmaya devam ediyorsun ve ilk şart olarakorWhere
belirtirsen, gruplama işlemiOR
olarak devam eder. Sonrasında bağlayacağın diğer şartlar, grubun içerisini kapsayacak ama.
Hmm, teşekkür ederim. 😊
Sonradan bakan olursa diye şu şekilde yaptım:
$db->table('users')
->grouped(function($q) {
$q->where('country', 'TURKEY')->orWhere('country', 'ENGLAND');
})
->grouped(function($q) {
$q->orWhere('country', 'GERMANY')->orWhere('country', 'FRANCE'); // Baştaki where, orWhere oldu.
})
->where('status', 1)
->getAll();
# Ouput: "SELECT * FROM users WHERE (country = 'TURKEY' OR country = 'ENGLAND') OR (country = 'GERMANY' OR country = 'FRANCE') AND status = 1"
Merhaba, birden fazla grouped kullandığımda bunları OR ile nasıl ayırabilirim?
Dökümandaki grouped örneğini çalıştırdığımda aşağıdaki sonucu alıyorum ve bu gayet normal.
Ama birden fazla grouped kullandığımda bu ikisini AND ile birleştiriyor.
Hedeflediğim sonuç: