如何获得两个不同行id laravel的最新结果

时间:2014-07-07 09:01:46

标签: php laravel laravel-4

嗨我正试图获得评估1的最终结果和评估2的最新结果按日期排序。 例如

     |id| name | assessment| date      |Course_code
     | 1|jon   |1          |2014-01-01 |1
     | 2|jon   |1          |2014-01-05 |1
     | 3|jon   |1          |2014-01-01 |2
     | 4|jon   |2          |2014-01-01 |1
     | 5|jon   |2          |2014-01-11 |2
     | 6|jon   |2          |2014-01-14 |1
     | 7|jon   |2          |2014-01-01 |1
     | 8|jon   |1          |2014-01-11 |1

在这里,我希望在单一查询构建中获得最新评估2和最新评估1。 我在这里使用laravel 4,我正在做什么。

DB::table('result')->where('username','jon')->where('course_code','1')->where('assignment_no',1)->orderBy('date','Desc')->limit(1)->get();

我已经完成了评估1和评估2,我可以在一个查询建筑上获得结果吗?

1 个答案:

答案 0 :(得分:0)

您可以使用whereIn(),如下所示:

DB::table('result')
    ->where('username','jon')
    ->where('course_code','1')
    ->whereIn('assignment_no', [1, 2]) // you simply supply an array of values
    ->orderBy('date','Desc')
    ->limit(1)
    ->get();

当然,除非你改变限制,否则你仍然只能获得一行。

我假设“评估”是一个错字,因为你的代码中有“assignment_no”。