Что-то намудрил я с оптимизацией.
У Number есть связь hasMany с Operation.
У Operation есть связь belongsTo с Model.
У Model есть связь $belongsTo с Kind.
Как вытащить последнюю по дате Operation у которой Kind = "some_shit"?
Operation::query()
->whereHas('model', function($modelQuery) {
$modelQuery->whereHas('kind', function($kindQuery) {
$kindQuery->where('field_name', 'some_shit');
});
})
->orderByDesc('created_at')
->first();
?