Biri müşteri, diğeri ise e-postalar şeklinde 2 adet tablom var.
Yapmak istediğim şey; Mükerrer kayıtları tespit edebilmek için E-posta tablosunda sorgulama yapıp sadece mükerrer olanları getirmek istiyorum. 21. satırdaki having yüzünden kod çalışmıyor (ids > 0 ise sonuçlar listeleniyor, ids > 1 ise listelenmiyor). Sorguyu tek başına çalıştırdığımda ise sonuçları olması gerektiği gibi görüntüleyebiliyorum. Bir türlü içinden çıkamadım. Yardımcı olabilecek kimse var mı?
Çalıştığım kod aşağıdaki gibi:
$musterilerQuery = MusterilerModel::select('id','karttipi','ad','soyad','faturaunvani','tckimlikno','pasaportno',
'verginumarasi','statu','statuneden', 'aktif', 'kontrol')
->with([
'Epostalar',
'Telefonlar'
])
->take($pagination)
->orderBy('id', $sorgu['siralama'] == 'artan' ? 'asc' : 'desc');
if(isset($sorgu['gruplandirma']) && $sorgu['gruplandirma'] != ''){
$param = '';
switch($sorgu['gruplandirma']){
case 'tckno': $param = 'tckimlikno';
case 'pasaportno': $param = 'pasaportno';
case 'vkno': $param = 'verginumarasi';
case 'eposta':
// Burası...
$musterilerQuery->whereHas('Epostalar', function($query){
$query->select(DB::raw('count(id) as ids'))
->groupBy('eposta')
->having('ids','>',1);
});
break;
case 'telefon':
break;
}
if($param != ''){
$musterilerQuery->groupBy($param);
}
}
$musteriler = $musterilerQuery
->offset($offset)
->get();