Редактировать: Вы можете выбрать последние 5 записей, за исключением того, что данный массив затем удален.
$except = 5;
ViewedSubmission::where('user_id', Auth::user()->id)
->latest()
->skip($except)
->get()
->each(function($row){ $row->delete(); });
И если у вас есть связь с идентификатором пользователя (от одного до многих), названным, например, viewedSubmissions
, вы можете сделай так:
$except = 5;
Auth::user()->viewedSubmissions()
->latest()
->skip($except)
->get()
->each(function($row){ $row->delete(); });