我有一个名为 users
的表,并且有一个名为 ELO_points
的行。
有些用户有“-10”ELO_points,有些用户有“25”。
有时 orderBy
无法正常工作。
我的 Controller :
$users = User::orderBy('ELO_points', 'DESC')->take(5)->get();
我的看法:
@foreach ($users as $user)
@if($loop->iteration == 1)
<div class="right-points">{!! $user->ELO_points !!}</div>
</li>
@endif
@if($loop->iteration == 2)
<div class="right-points">{!! $user->ELO_points !!}</div>
</li>
@endif
@endforeach
为什么我的订单在 -10 到 10 之间没有正常显示,有什么帮助吗?
最佳答案
尝试使用以下查询。
$query = "CAST(ELO_points AS INT) DESC";
$users = User::orderByRaw($query)->take(5)->get();
关于php - Laravel orderBy 排序不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51578668/