سلام دوستان . در لاراول میخواستم یک collection را به ترتیب یکی از فیلدهای آن که حروف فارسی دارد سورت کنم . مثلا یکی از فیلدهای جدولم (اسم جدول student است ) به اسم name است که محتوی آن اسامی افراد با حروف فارسی را ذخیره کرده ام . در لاراول میخواستم دستور زیر را اجرا کنم
$students = Student::orderBy('name')->get()
از UTF8 استفاده میکنم ولی مرتب سازی درست انجام نمیشه انگار با حروف فارسی مشکل داره یه بخشهائی را سورت میکنه و یه بخشهائی رو سورت نمیکنه . مواردی مثل space رو هم چک کردم مشکلی نیست . اگر راهنمائی کنین خیلی ممنون میشم .
@samanf33
سلام.
لینک زیر رو بررسی کنید و تغییرات رو در mysql ایجاد کنید بعد دوباره تست کنید :
https://stackoverflow.com/questions/29550658/order-arabic-data-by-alphabet-letters
یعنی چی یه قسمت هایی را سورت میکنه یه قسمت هایی را نه
تابع orderBy لاراول تمام طول string را میگیره و از همه لحاظ چک میکنه و سورت میکنه
من خیلی ستون های فارسی باهاش سورت میکنم و مشکلی نداره
شما به کدتون را به این شکل هم تست کنین
$students = Student::orderBy('name', 'DESC')->get()
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟