Możesz zrobić kolejność malejącą i otrzymaj pierwszy wiersz, który będzie Twoim ostatnim wierszem w bazie danych. Ale chodzi o to, że przechowujesz datę w niewłaściwy sposób. jak wspomniał @Strawberry, nie jest to jasna data ani miesiąc. Proponuję użyć mysql datetime opcję, możesz po prostu zrobić kod, który zamieszczam poniżej. W takim przypadku może być konieczne przeanalizowanie każdej daty we właściwy sposób
$englishgrades = StudentHistory::select('date', 'name', 'grade')
->where('subject', 'english')
->groupBy('name')
->orderBy('date','desc')
->get();