Du kan göra fallande ordning och ta emot första raden som kommer att bli din sista rad i databasen. Men grejen är att du lagrar datum på ett felaktigt sätt. som nämnts av @Strawberry är det inte klart datum eller månad. Jag skulle föreslå att du använder mysql datetime alternativet då kan du helt enkelt göra koden jag postar nedan. I det här fallet kanske du måste analysera varje datum för ett korrekt sätt
$englishgrades = StudentHistory::select('date', 'name', 'grade')
->where('subject', 'english')
->groupBy('name')
->orderBy('date','desc')
->get();