gpt4 book ai didi

php - 根据 Eloquent 另一个​​表中的列选择十大类别

转载 作者:可可西里 更新时间:2023-11-01 07:08:41 24 4
gpt4 key购买 nike

我有三个表:uploadscategories 和一个名为 category_upload多对多 表。

表格看起来像这样:

**categories**

id
name

**uploads**

id
name
downloads(integer)

**category_upload**

id
category_id
upload_id

每次我下载“上传”时,下载列中的值都会增加 1。

我想做的,但不知道如何开始是根据 uploads 表中的 downloads 列选择前 10 个类别。因此,如果 downloads 列的总数是给定类别的所有上传中最大的,则该类别应该排名第一,依此类推直到第十。

这可以通过 Eloquent 或仅使用 SQL 来实现吗?如何实现?任何提示表示赞赏!

以下是我在模型中建立关系的方式:

类别:

public function uploads(){
return $this->belongsToMany('App\Upload');
}

上传:

public function category(){
return $this->belongsToMany('App\Category');
}

最佳答案

Select category_id, uploads
From (
Select category_id, SUM(downloads) as uploads
From uploads as u
Left join upload_category as uc on uc.id=u.upload_id
Left join category as c on c.id=uc.category_id
Group by category_id )as t
Order by uploads desc
Limit 10

关于php - 根据 Eloquent 另一个​​表中的列选择十大类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47870946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com