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

如何编写 Laravel orderBy 查询?

如何编写 Laravel orderBy 查询?

PHP
莫回无 2022-10-14 15:31:24
我在laravel中试过这个,但它没有用。$doctor_daily=ReportDoctorCompanyDailyTestModal::select('test_id',DB::raw('SUM(test_price) as num'))                                                       ->join('testing_types','report_doctor_company_daily_test.test_id','=','testing_types.id')                                                       ->join('doctor','doctor.id','=','report_doctor_company_daily_test.doctor_id')                                                       ->groupBy('test_id')                                                       ->get();如何在 Laravel 5.7 中编写这个 MySQL 查询?SELECT    report_doctor_company_daily_test.test_id,    testing_types.testing_name,    doctor.first_name,    doctor.last_name,    SUM( report_doctor_company_daily_test.test_price ) FROM    testing_types    INNER JOIN report_doctor_company_daily_test ON testing_types.id = report_doctor_company_daily_test.test_id    INNER JOIN doctor ON report_doctor_company_daily_test.doctor_id = doctor.id GROUP BY    testing_types.id
查看完整描述

2 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

你的问题不清楚orderBy。根据您的问题:


如何在 Laravel 5.7 中编写这个 MySQL 查询?


SELECT

    report_doctor_company_daily_test.test_id,

    testing_types.testing_name,

    doctor.first_name,

    doctor.last_name,

    SUM( report_doctor_company_daily_test.test_price )  FROM

    testing_types

    INNER JOIN report_doctor_company_daily_test ON testing_types.id = report_doctor_company_daily_test.test_id

    INNER JOIN doctor ON report_doctor_company_daily_test.doctor_id = doctor.id  GROUP BY

    testing_t

ypes.id

回答 :

$test = ReportDoctorCompanyDailyTestModal::select(

        'report_doctor_company_daily_test.test_id',

        'testing_types.testing_name',

        'doctor.first_name',

        'doctor.last_name',

        DB::raw('SUM(report_doctor_company_daily_test.test_price)')

    )

    ->join('report_doctor_company_daily_test', 'testing_types.id', '=', 'report_doctor_company_daily_test.test_id')

    ->join('doctor', 'report_doctor_company_daily_test.doctor_id', '=', 'doctor.id')

    ->groupBy('testing_types.id');


dd($test->toSql());

结果 :

select 

     `report_doctor_company_daily_test`.`test_id`, 

     `testing_types`.`testing_name`, 

     `doctor`.`first_name`, 

     `doctor`.`last_name`, 

     SUM(report_doctor_company_daily_test.test_price) 


from 

    `testing_types` 


inner join `report_doctor_company_daily_test` 

    on `testing_types`.`id` = `report_doctor_company_daily_test`.`test_id` 


inner join `doctor` 

    on `report_doctor_company_daily_test`.`doctor_id` = `doctor`.`id` 


group by `testing_types`.`id`


查看完整回答
反对 回复 2022-10-14
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

use 可以使用->orderBy();语句。

例如;

$doctor_daily=ReportDoctorCompanyDailyTestModal()->orderBy()->get();

然后你可以按升序获取数据。如果你想要降序,可以使用

->orderBy('id','DESC');


查看完整回答
反对 回复 2022-10-14
  • 2 回答
  • 0 关注
  • 154 浏览

添加回答

举报

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