Laravel - 如何使用查询构建器

时间:2017-09-07 12:55:10

标签: mysql laravel laravel-query-builder

我正在使用Laravel并且有一个非常具体的查询,我不知道如何使用查询构建器实现。

查询:

SET @c_num=0;

SELECT *, @c_num:=@c_num+1 AS 'COUNT' 
FROM table_name 
WHERE USERID = 2
ORDER BY id

谢谢

3 个答案:

答案 0 :(得分:1)

您应该可以执行以下操作:

DB::statement(DB::raw('SET @c_num = 0'));

$result = DB::table('table_name')
    ->selectRaw("*, @c_num:=@c_num+1 AS 'COUNT'")
    ->where('userid', 2)
    ->orderBy('id')
    ->get();

希望这有帮助!

答案 1 :(得分:1)

$data = DB::table('table_name')
->where('userid',2)
->select('table_name.*',DB::raw('(@c_num:=@c_num+1) Count')
->orderBy('id')
->get();

答案 2 :(得分:0)

您可以尝试以下

DB::table('table_name')
    ->selectRaw("*, @c_num:=IF(@c_num, @c_num+1, 1) as 'COUNT'")
    ->where('user_id', 2)
    ->orderBy('id');