nuri60 Cevabı sildiğim için.
Şimdi kaynak kodlarını inceledim. ofMany içindeki constraint farklı çalışıyormuş. Şu alttaki son duruma bakıyor ve sonra şartı ekliyor. Siz şöyle deneyin:
public function lastChild(): HasOne
{
return $this->hasOne(KeyStatusHistory::class, 'parent_id')
->latestOfMany()
->where('status', KeyStatus::SOLD->value);
}
Şu alttaki ise sonuncuya bakmıyor; belirtilen duruma ait son kaydı getiriyor:
public function lastChild(): HasOne
{
return $this->hasOne(KeyStatusHistory::class, 'parent_id')
->ofMany([
'id' => 'max',
], function (Builder $query) {
$query->where('status', KeyStatus::SOLD->value);
});
}