Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Laravel / PHP:Sắp xếp theo thứ tự bảng chữ cái với các số theo thứ tự

Bạn đang được đặt ra với vấn đề sắp xếp các mục theo chữ và số, hoặc theo thuật ngữ khoa học máy tính, sắp xếp tự nhiên.

nhiều cách để đạt được sắp xếp tự nhiên với MySQL thẳng nhưng bạn cũng có thể lấy kết quả từ trình trợ giúp Laravel của mình sang định dạng mảng và triển khai của PHP natsort chức năng thay thế .

Từ các phương pháp tôi đã tìm thấy ở trên, tôi đã tìm ra cách tốt nhất có thể giải quyết vấn đề của bạn với mã ví dụ:

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

tuy nhiên, tôi không chắc liệu người trợ giúp có phàn nàn về việc nhận một hàm MySQL thay vì một tên cột thẳng vào orderBy hay không hàm số. Tôi chỉ sao chép từ các tài liệu tham khảo tôi đã sử dụng kết hợp với ví dụ của bạn - Tôi không thể đảm bảo tính hiệu quả.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hỗ trợ ràng buộc khóa ngoại trong Rails

  2. MySQL và JSON - chuyển mảng thành hàng

  3. Hạn chế thực thi PHP?

  4. Chọn các nhóm bản ghi liên tiếp với một thuộc tính chung?

  5. Cách lưu trữ dữ liệu có kiểu có thể là số, ngày tháng hoặc chuỗi trong mysql