Laravel - 如何使用查询生成器进行特定查询
Laravel - How to do a specific query with query builder
我正在使用 Laravel 并且有一个非常具体的查询,我不知道如何使用查询构建器来实现。
查询:
SET @c_num=0;
SELECT *, @c_num:=@c_num+1 AS 'COUNT'
FROM table_name
WHERE USERID = 2
ORDER BY id
谢谢
您应该可以执行以下操作:
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();
$data = DB::table('table_name')
->where('userid',2)
->select('table_name.*',DB::raw('(@c_num:=@c_num+1) Count')
->orderBy('id')
->get();
您可以尝试以下方法
DB::table('table_name')
->selectRaw("*, @c_num:=IF(@c_num, @c_num+1, 1) as 'COUNT'")
->where('user_id', 2)
->orderBy('id');
我正在使用 Laravel 并且有一个非常具体的查询,我不知道如何使用查询构建器来实现。
查询:
SET @c_num=0;
SELECT *, @c_num:=@c_num+1 AS 'COUNT'
FROM table_name
WHERE USERID = 2
ORDER BY id
谢谢
您应该可以执行以下操作:
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();
$data = DB::table('table_name')
->where('userid',2)
->select('table_name.*',DB::raw('(@c_num:=@c_num+1) Count')
->orderBy('id')
->get();
您可以尝试以下方法
DB::table('table_name')
->selectRaw("*, @c_num:=IF(@c_num, @c_num+1, 1) as 'COUNT'")
->where('user_id', 2)
->orderBy('id');