Вы должны отсортировать данные, прежде чем попасть в цикл foreach, а затем просто отобразить html.
Если вы используете поле даты с экземплярами углерода, у вас также есть числовое представление дня недели, чтобы вы моглиможет использовать это, например:
$collection->sortBy(function($a, $b){
return $a->date->day <=> $b->date->day; // date === carbon instance
});
Если у вас есть только строковое представление, вы должны получить номер дня недели, используя Carbon или PHP date, strtotime или DateTime и сгенерировать число.
https://carbon.nesbot.com/docs/#api-getters