Задать вопрос
chelkaz
@chelkaz

Как придумать авто-подчистку таблицы?

Ребята, у меня есть таблица, с полями
id
name
vid
comm
created_at
updated_at

В эту таблицу постоянно вносятся данные, а потом выводятся последнии по дате внесения максимум по 500 записей с одинаковыми значениями в поле vid
Логично, что записи за пределами выборки из 500 уже не пригодятся.
Как сделать так, что если записей с одинаковым vid больше 500, то удалить лишние по дате более старые?
  • Вопрос задан
  • 370 просмотров
Подписаться 1 Оценить 3 комментария
Решение пользователя chelkaz К ответам на вопрос (2)
chelkaz
@chelkaz Автор вопроса
Почитав доки... В итоге идеальный вариант под фреймворк Laravel без велосипеда бедет:
$count = DB::table('tbl_name')->where('vid', '=', $vid)->count();
DB::table('tbl_name')->where('vid', '=', $vid)
     ->orderBy('created_at', 'asc')
     ->skip(500)->take($count-500)
     ->delete();
Ответ написан