public function replies($time = null)
{
$replies = Mod::query()->whereNotNull('parent_item_id')->where('beatmapset_id', '=', $this->beatmapset_id)->orderBy('created_at', 'asc');
if ($time) {
// also grab soft-deleted posts
$replies = $replies->where(function ($query) use($time) {
$query->where(DB::raw('UNIX_TIMESTAMP(`created_at`)'), '>', $time);
$query->orWhere(DB::raw('UNIX_TIMESTAMP(`updated_at`)'), '>', $time);
})->withTrashed();
}
$replies = $replies->get()->load('creator');
$new = [];
foreach ($replies as $reply) {
if (!isset($new[$reply->parent_item_id])) {
$new[$reply->parent_item_id] = [];
}
$new[$reply->parent_item_id][$reply->item_id] = $reply->toArray();
}
return $new;
}