sql >> Databasteknik >  >> RDS >> Mysql

Laravel/ PHP:Ordna efter alfabetisk ordning med nummer i ordning

Du ställs inför problemet med att sortera objekt alfanumeriskt, eller i datavetenskapliga termer, naturlig sortering.

Det finns många sätt att uppnå en naturlig sortering med rak MySQL men du kan också ta resultaten från din Laravel-hjälpare till array-format och implementera PHP:s natsort fungera istället .

Från metoderna jag hittade ovan, härledde jag det bästa sättet som sannolikt skulle lösa ditt problem med exempelkoden:

DB::table('test')->orderBy('LENGTH(title)', 'ASC')
    ->orderBy('title', 'ASC')
    ->get();

men jag är inte säker på om hjälparen kommer att klaga på att få en MySQL-funktion istället för ett rakt kolumnnamn i orderBy fungera. Jag transkriberar bara från referenserna jag använde i kombination med ditt exempel - jag kan inte garantera effektiviteten.



  1. FORCE INDEX i MySQL - var ska jag lägga det?

  2. Det går inte att lägga till en kolumn från en pandas dataram till mysql i python

  3. MySql :Välj uttalande med IN-operatorn

  4. Procedur för att exportera tabell till flera csv-filer