如何编写 Laravel orderBy 查询?

我在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


莫回无
浏览 188回答 2
2回答

千万里不及你

你的问题不清楚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_types.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`

婷婷同学_

use 可以使用->orderBy();语句。例如;$doctor_daily=ReportDoctorCompanyDailyTestModal()->orderBy()->get();然后你可以按升序获取数据。如果你想要降序,可以使用->orderBy('id','DESC');
打开App,查看更多内容
随时随地看视频慕课网APP