laravel 执行原生SQL查询后 怎么才能用paginate() 进行分页

laravel 执行原生SQL查询后 怎么才能用paginate() 进行分页下方是我要执行的SQL,该怎么改成查询构造器的写法 能够使用paginate() ?

SELECT * FROM (
               SELECT count,hot_title,id,
               ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(hot_title USING gbk),1)),16,10),
               0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,
               0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,
               0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),
               'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P',
               'Q','R','S','T','W','X','Y','Z') AS PY
                FROM helpfile_hot WHERE count>0
                ORDER BY PY) t WHERE t.py = 'v' OR LEFT(t.hot_title,1) LIKE '%v%')

按照文档中说的把语句放到select(DB::raw())如下面的代码这样出错了实现不了

$db = DB::select(DB::raw("SELECT * FROM (
                    SELECT count,hot_title,id,
                    ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(hot_title USING gbk),1)),16,10),
                    0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,
                    0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,
                    0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),
                    'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P',
                    'Q','R','S','T','W','X','Y','Z') AS PY
                    FROM helpfile_hot WHERE count>0
                    ORDER BY PY) t WHERE t.py = 'y' OR LEFT(t.hot_title,1) LIKE '%y%'"))->paginate(10);

该怎么改成查询构造器的写法 能够使用paginate() 求解!!!

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

limit offset 正解 需要什么数据自己组装就行了

3年前 评论
chen_ (楼主) 3年前
风吹过有夏天的味道 (作者) 3年前
风吹过有夏天的味道 (作者) 3年前
chen_ (楼主) 3年前
Jaysan_Ran_Peng 3年前
讨论数量: 4

原生用offset,limit就可以分页了啊,干嘛用paginate方法

3年前 评论

limit offset 正解 需要什么数据自己组装就行了

3年前 评论
chen_ (楼主) 3年前
风吹过有夏天的味道 (作者) 3年前
风吹过有夏天的味道 (作者) 3年前
chen_ (楼主) 3年前
Jaysan_Ran_Peng 3年前

$sql = "(select * from table_name) as abc"; $res = DB::table(DB::raw($sql))->paginate(10); 这个写法就可以,一定注意SQL语句起别名

3年前 评论
Jaysan_Ran_Peng 3年前
Freadman 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!