为了账号安全,请及时绑定邮箱和手机立即绑定

如何将原始查询 MYSQL 转换为 Laravel 框架

如何将原始查询 MYSQL 转换为 Laravel 框架

PHP
MYYA 2021-11-26 19:27:07
我不知道如何在 Laravel 5.8 中使用下面的代码,我已经尝试过,但无法正常工作。$sql = mysqli_query($db, "SELECT *, SUM(amount) AS SumBudget FROM messages GROUP BY contact_phone ORDER BY SUM(amount) DESC LIMIT 3");$orderList = 0;while ($data = mysqli_fetch_assoc($sql)){    $orderList++;    $user = $data['user'];     $cost = $data['SumBudget'];    if ($orderList == 1) {        printf("%d. %s %d‎฿<br>", $orderList, $user, $cost);    }    else if ($orderList == 2)    {        printf("%d. %s %d‎฿<br>", $orderList, $user, $cost);    }    else     {        printf("%d. %s %d‎฿<br>", $orderList, $user, $cost);    }}我的代码已经试过了。$data = DB::table('messages')        ->where('phone_number', $request->phone_number)        ->select(DB::raw('SUM(amount) as cost'))        ->groupBy(DB::raw('contact_phone'))        ->orderBy(DB::raw('SUM(amount)', 'DESC'))        ->limit(3)        ->get();谁能帮帮我,谢谢。
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

我认为它可以帮助你:

DB::table('messages')
    ->select('column_name', /* ... */, DB::raw('SUM(amount) AS cost'))
    ->where('phone_number', $request->phone_number) // if you want to filter
    ->groupBy('contact_phone')
    ->orderBy('cost', 'DESC')
    ->take(3)
    ->get()


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信