Я бы создал скрипт очистки, используя планировщик, см. Основную идею ниже:
// app\Console\Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
// Query all records that havent changed in an x-amount of time
// and remove them.
})->everyDay();
}
Затем вы просто добавляете на свой сервер следующий CRON-скрипт:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
А помощник Artisan будет вызывать ваш планировщик каждую минуту и запускать каждую задачу в зависимости от ее интервала.
Поскольку вы не можете определить, вернется ли пользователь когда-либо, в том числе тот факт, что сессия Laravel, скорее всего, очень скоро сама себя очистит (я полагаю, что время жизни по умолчанию составляет 120 минут), другого триггера для удаления определенной записи не будет. из вашей базы данных.