Merhaba,
public function logs()
{
return $this->hasMany('App\Models\SubscriberLog')->orderBy('id', 'desc');
}
şeklinde bir relation'ım var.
public function latestLog()
{
return $this->hasOne('App\Models\SubscriberLog')->latest();
}
şeklinde, son kaydı çekmek amacıyla bir relation daha ekledim.
$subscribers = Firm::orderBy('id', 'desc')->with(['logs', 'latestLog'])->whereHas('latestLog', function ($q) {
$q->where('status', 'Ulaşılamadı');
});
şeklinde çekmeye çalıştığımda, o firmaya ait son kayıtta "Ulaşılamadı" olup olmadığına bakmıyor, o firmaya ait, tüm zamanlarda "Ulaşılamadı" şeklinde bir kayıt varsa getiriyor. (örneğin 1 hafta önce "Ulaşılamadı" şeklinde bir kayıt girilmiş, sonrasında "Tekrar Aranacak" diye kayıt giriliyor aynı firma için. ben "Ulaşılamadı"ları filtrelemeye çalıştığımda, bu firma gelmesin istiyorum çünkü bu firmanın son kaydı "Tekrar Aranacak" şeklinde, ancak bu firma da gelen kayıtlarda bulunuyor. )