Laravel 按第二张表进行分页排序

问题描述 投票:0回答:1

所以我需要一些帮助。我将每个用户保存到 dblog_steamusers 表一次。对于每个 Kill,它都会将数据作为一整行保存到 dblog_deaths 表中。

我想从 dblog_steamusers 获取每个用户,并按照用户杀死的数量按降序排列。我还想对 dblog_steamusers 的数据进行分页。

我的问题是:如何按用户的击杀次数按降序排列用户,并使用 laravel 中的 paginate() 构建。

我的控制器:

public function informations()
{
    $users = SteamUsers::paginate();
    $wounds = Wounds::get();
    $deaths = Deaths::get();
    $revives = Revives::get();

    $informations = [
        $users,
        $wounds,
        $deaths,
        $revives
    ];

    return $informations;
}

dblog_steamusers

dblog_deaths

也许还有其他方法效果更好。我正在使用 laravel v10

mysql laravel database sorting pagination
1个回答
0
投票

首先使用 laravel 文档。非常好。

https://laravel.com/docs/10.x/pagination

示例:

public function informations()
{
    $users = SteamUsers::orderBy('kills', 'desc')->paginate(10); // Change 'kills' to your actual column name for kills

    $wounds = Wounds::get();
    $deaths = Deaths::get();
    $revives = Revives::get();

    $informations = [
        $users,
        $wounds,
        $deaths,
        $revives
    ];

    return $informations;
}

在此示例中,我们使用 orderBy 方法按“kills”列降序对用户进行排序。您应该将 'kills' 替换为 dblog_steamusers 表中代表 Kills 的实际列名称。

我们还使用 paginate(10) 方法对结果进行分页,每页包含 10 条记录。您可以将数字 10 调整为您喜欢的页面大小。

© www.soinside.com 2019 - 2024. All rights reserved.