Contrairement à une croyance populaire assez répandue, l'expression qui dort dîne ne signifie pas que le sommeil peut remplacer le repas.

En fait, cela remonte au Moyen Âge. À l'époque, les auberges affichaient cet avis (ou à peu près) à l'entrée : « qui dort dîne ». Ce qui voulait tout simplement dire que pour louer une chambre, il fallait également prendre le repas à l'auberge ; une sorte de fidélisation de la clientèle.

Quant à savoir pourquoi cette expression a ce sens de nos jours…