gpt4 book ai didi

php - 从同一个表但不同时间范围检索数据的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 08:24:26 41 4
gpt4 key购买 nike

我只是有点不确定我该如何处理这个问题。这是我必须输出的信息:

output

最好的方法是什么?我有一个名为“付款”的表和一个名为“referral_earnings”的表(示例)。

付款方式:
用户 ID |类型(文件或链接)|金额 |创建时间(日期时间)

推荐收入:
user_id(接收付款的用户)|金额 |创建于

我会将查询结果缓存 X 分钟。我只是不确定创建查询来执行此操作的最佳方法?我遇到的困难是不同的时间框架。

谢谢!

编辑:好的,我现在遇到的问题是区分同一查询中的文件、链接和引用

答案:https://stackoverflow.com/a/18362989/1073419

最佳答案

使用Query Scope 。它们非常方便

class Stats extends Eloquent{

public function scopefileStats($query, $timeFrame){
$query->where('user_id', = ,Auth::user()->id);
$query->where('created_at','>', DB::raw($timeFrame));
$query->where('type','=','FILE');
}

public function scopelinkStats($query,$timeFrame){
$query->where('user_id', = ,Auth::user()->id);
$query->where('created_at','>', DB::raw($timeFrame));
$query->where('type','=','LINK');
}

public function scopereferralStats($query,$timeFrame){
$query->where('user_id', = ,Auth::user()->id);
$query->where('created_at','>', DB::raw($timeFrame));
$query->where('type','=','REFERRAL');
}
}

检索数据为

Stats::fileStats('date_sub(NOW(), INTERVAL 1 MONTH)')->sum('amount');
Stats::linkStats('date_sub(NOW(), INTERVAL 1 MONTH)')->sum('amount');
Stats::referralStats('date_sub(NOW(), INTERVAL 1 MONTH)')->sum('amount');

这可能是您可以执行此操作的方法之一,但您始终可以根据您的舒适度自定义上述代码。

关于php - 从同一个表但不同时间范围检索数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18362121/

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