Похоже, что вы используете эту функцию в массиве.Попробуйте сделать это в 2 шага.
Первый: получить коллекцию.
Второй: работать с ним.
//$items = collect(...)
$items = $items->take(5);
edit Вы используете его в этом массиве.Внутренний парант закрывает ваш вызов DB :: select ()!try:
$items = collect(DB::select('EXEC [List] ?', [Carbon::now()->year]))
->take(5);
edit 2:
Как уже упоминалось apokryfos, этот вызов становится все дороже с ростом базы данных.Когда вам нужны только эти 5 записей, вы можете попробовать что-то вроде этого:
$items = DB::table('TABLENAME')
->select('*')
//assuming you have a created_at col which can be handled as date.
->whereYear('created_at', '=', date('Y'))
->limit(5)
->get();
Это должно подготовить менее дорогой вызов базы данных, поскольку вы не выбираете все строки.