2014-07-07 22 views
0

您好,我正在嘗試按日期獲取評估1和最新評估結果2的評估結果。 例如。如何獲得兩個不同行ID的最新結果laravel

 |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單獨可以得到的結果都在一個單一的查詢建築?

+0

我不知道如何寫laravel,但如果你可以使用'FIND_IN_SET',請使用... –

回答

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」。

相關問題