sql >> Base de Datos >  >> RDS >> Mysql

Laravel/ PHP:orden alfabético con números en orden

Se le plantea el problema de ordenar elementos alfanuméricamente, o en términos informáticos, clasificación natural.

Hay muchas formas de lograr una ordenación natural con MySQL directo pero también puede tomar los resultados de su asistente de Laravel en formato de matriz e implementar de PHP natsort función en su lugar .

De los métodos que encontré arriba, derivé la mejor manera que probablemente resolvería su problema con el código de ejemplo:

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

sin embargo, no estoy seguro de si el ayudante se quejará de recibir una función de MySQL en lugar de un nombre de columna directo en orderBy función. Solo transcribo de las referencias que utilicé en combinación con su ejemplo también; no puedo garantizar la eficacia.