laravel聚合雄辩的最大结果

siv3szwd  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(365)

我想做的是:
我正在供应商表中实现一个版本id。我正在尝试构造一个查询,以使索引页正常工作。因此,我希望从我的数据库中获取所有具有最新版本\u id(max('version\u id')的供应商。好像想不通。到目前为止,我掌握的情况如下:

$vendors = $this->account->vendors()->where('version_id', max(version_id))

        ->orderBy($this->orderBy, $this->sortBy)
        ->paginate($this->display_per_page);

我以前试过这个,但也有错误:

$vendors = $this->account->vendors()->max('version_id')

            ->orderBy($this->orderBy, $this->sortBy)
            ->paginate($this->display_per_page);

如果我有这个就行了:

$vendors = $this->account->vendors()
            ->orderBy($this->orderBy, $this->sortBy)
            ->paginate($this->display_per_page);

我一直在网上寻找,但我只找到与连接等查询的建议,这不是我要找的。感谢您的帮助!

u0sqgete

u0sqgete1#

这应该起作用:

$vendors = $this->account->vendors()
    ->whereRaw('version_id = (SELECT MAX(version_id) from vendors)')
    ->orderBy($this->orderBy, $this->sortBy)
    ->paginate($this->display_per_page);

假定表名 vendors

相关问题