У меня есть таблица buildings
со столбцом с именем building_number
. Это может иметь такие значения, как 1, 2, 10, A, B
. Теперь я хочу заказать его следующим образом:
1
2
10
A
B
И я попробовал следующий код:
$res = \DB::table('buildings')
->where('property_id',$id)
->orderByRaw('CAST(building_number as UNSIGNED)')
->orderBy('building_number','asc')
->pluck('building_number');
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => A
[1] => B
[2] => 1
[3] => 2
[4] => 10
)
)
Если я удалил ->orderByRaw('CAST(building_number as UNSIGNED)')
эту строку, порядок результат будет:
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => 1
[1] => 10
[2] => 2
[3] => A
[4] => B
)
)