Я пытаюсь упорядочить коллекцию по символам и числам в Laravel, я пробовал разные методы, но, кажется, ничто не работает так, как я хочу.
Числа, которые я пытаюсь заказать, могутвсегда разные, в примере кода ниже используются следующие символы и цифры:
M1,
M2,
M3,
M10,
M11,
R1,
R2,
R10,
R11
Символы + цифры хранятся в базе данных "MYSQL" с типом данных VARCHAR.
Triedэто:
$items = Item::where('item_id', $itemId)->orderBy('name', 'ASC')->get();
// M1, M10, M11, M2, M3, R1, R10, R11, R2
$items = Item::where('item_id', $itemId)->orderByRaw('LENGTH(name)', 'asc')->orderBy('name', 'ASC')->get();
// M1, M2, M3, R1, R2, M10, M11, R10, R11</i>
$items = Item::where('item_id', $itemId)->orderByRaw('CAST(name as unsigned)')->orderBy('name', 'ASC')->get();
// M1, M10, M11, M2, M3, R1, R10, R11, R2</i>
Я пытаюсь достичь следующего порядка:
M1,
M2,
M10,
M11,
R1,
R2,
R10,
R11
Возможно ли это вообще?