在将PHP网站迁移到Yii2框架时,我编写了以下查询.我想将它们添加到我的控制器中,以便显示赢得的前10个赌注.我try 了很多Yii2数据库类,但我无法让它工作.
我的桌子是:
users:
id | user_name | user_status | ...other columns...
bets:
id | user_id | date_time |...other columns...| balance_return
我想在Yii2中得到的查询是:
$query_all = $dbh->query("
SELECT SUM(bets.balance_return) AS total_win
, bets.user_id
, users.user_name
, users.user_status
FROM bets INNER JOIN users ON bets.user_id = users.id
WHERE users.user_status = 'verified'
AND bets.date_time > " . $start_date . "
GROUP BY bets.user_id
ORDER BY total_win DESC
");
变量start_date是一个6个月的周期,我根据time()
计算.请注意,balance_return
是用户获得的每一次胜利,因此其总和决定排名.
第二个问题是:
$qwi = $dbh->query("
SELECT SUM(bets.balance_return) AS total_win
, bets.user_id
, users.user_name
, users.user_status
FROM bets INNER JOIN users ON bets.user_id = users.id
WHERE users.user_status = 'verified'
AND bets.date_time > " . $start_date . "
GROUP BY bets.user_id
ORDER BY total_win DESC LIMIT 0,10
");