Php 如何在laravel上编写查询sql

Php 如何在laravel上编写查询sql,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,我是拉威尔4号的新手。我有这样的查询Sql SELECT at.test_id, MAX(at.result), COUNT(status_assessment_id='2') FROM recruitment_process a LEFT JOIN recruitment_result at ON a.id = at.recruitment_id GROUP BY test_id 我不知道如何在Laravel 4上写这篇文章?我会这样做: DB::table('recruitment_pro

我是拉威尔4号的新手。我有这样的查询Sql

SELECT at.test_id, MAX(at.result), COUNT(status_assessment_id='2') FROM recruitment_process a LEFT JOIN recruitment_result at ON a.id = at.recruitment_id GROUP BY test_id

我不知道如何在Laravel 4上写这篇文章?

我会这样做:

DB::table('recruitment_process')
    ->select(
    array('recruitment_result.test_id', 
           DB::raw('COUNT(status_assessment_id='2') as mycount'), 
           DB::raw('MAX(recruitment_result.result) as maxvalue')))
    ->left_join('recruitment_result', 'recruitment_process.id', '=', 'recruitment_result.recruitment_id')
    ->group_by('test_id')
    ->get();

不确定是否有更快或更有效的方法。

我还没有检查,但你可以试试这个

DB::table('recruitment_process a')
    ->select('at.test_id', DB::raw('MAX(at.result)'), DB::raw('COUNT(status_assessment_id="2")'))
    ->leftJoin('recruitment_result at', 'a.id', '=', 'at.recruitment_id')
    ->groupBy('at.test_id')
    ->get();

这里有更多详细信息

你在使用Laravel 4.2吗?为什么是ARIF MAHMUD RANA?是的,我在使用Laravel 4.2matt是的,因为这不是有效的方法。但我很感激你有答案我会试试