Merhaba Livewre ile filtreleme yaptığım bir tablom mevcut one to many bağlantısının olduğu bir modelde son kaydı çekmek için bir fonksiyon daha yazdım fakat listeleme kısmını doğru listelerken filtreleme yatığımda hatalı listeliyor.
Model
public function notes()
{
return $this->hasMany(Note::class);
}
public function latest_note()
{
return $this->hasOne(Note::class)->latest('id');
}
Controller
$companies=CandidateCompany::where('project_id',$this->project_id)
->when(!in_array(Auth::user()->role_id,[1,2]), function($q){
$q->where('user_id',Auth::id());
})
->when($this->byStatus, function($q){
$q->where('statu',$this->byStatus);
})
->when($this->bySuccessStatus, function($q){
$q->whereHas('latest_note',function($l){
$l->where('success_status',$this->bySuccessStatus);
});
})
->orderBy($this->sortColumnName, $this->sortDirection)
->orderBy('id','asc')
->paginate($this->perPage);
örneğin bySuccessStatus filtrelemesi ile successfull olanları listelemem gerekiyor ama tek tük unsuccessfull'da geliyor.