Вероятно, take тут не нужен. Вы уже задали offset - выходит, в предикают попадают все оставшиеся записи. Более того, Вы берете count по всей таблице, а не только по данному $vid.
Евгений Попов: enterprise фреймворки, которые "принуждают" вас писать код правильно, хранить бизнес-логику в сервисах, продумывать архитектуру. React - в объявлении не нуждается, а Angluar2 - уже на подходе.