php - Laravel orderBy 排序不正确

标签 php mysql laravel

我有一个名为 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/

相关文章:

MySQL应用程序用户和数据库用户

mysql - 搜索房间可用性

database - 如何使用wordpress数据库到laravel?有什么办法吗?

javascript - 当数据库返回值时运行脚本

php - Jquery Mobile MYSQL调用使用PHP

php - 从 Python 调用 PHP 代码

php - 宅基地初始化未定义

php - Laravel 将 2 个表单值放在一起并检查它们是否唯一

php - Smith–Waterman 用于 PHP 中的字符串?

PHP Phalcon : no views?