laravel中DB::raw方法用于做什么的,怎样用
Admin 2022-06-16 群英技术资讯 640 次浏览
在laravel中,“DB::raw()”方法用于复杂的sql查询,该方法能够将查询到的结果集当成一个临时表,然后使用laravel的查询构造器语法进行分页处理,语法为“DB::raw('函数或者字段');”。
本文操作环境:Windows10系统、Laravel6版、Dell G3电脑。
在项目中遇到一个问题,复杂的sql查询,用laravel的查询构造器,非常的不方便,各种查询条件拼接一长串拼得脑瓜疼;然后想使用原生的sql语句来查询,然后又使用不了laravel的paginate()分页方法;这时候DB::raw()方法就派上用场了!语法的原理就是把你查询的结果集当成一个临时表,然后在使用laravel的查询构造器语法进行分页处理;
例1:
$users = DB::table('users') ->select(DB::raw('count(*) as user_count, status')) ->where('status', '<>', 1) ->groupBy('status') ->get();
例2:
DB::table('someTable') ->selectRaw('count(*), min(some_field) as someMin, max(another_field) as someMax') ->get();
例3:
DB::table('someTable')->select( array( DB::raw('min(some_field) as someMin'), DB::raw('max(another_field) as someMax'), DB::raw('COUNT(*) as `count`') ) )->get()
例4:
SELECT (CASE WHEN (gender = 1) THEN 'M' ELSE 'F' END) AS gender_text FROM users; $users = DB::table('users') ->select(DB::raw(" name, surname, (CASE WHEN (gender = 1) THEN 'M' ELSE 'F' END) as gender_text") );
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
主要函数:spl_autoload_register() — 注册给定的函数作为 __autoload() 的实现。下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧
PHP优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。本文给大家提供全面的优化技巧。1、echo比print快。2、使用echo的多重参数代替字符串...
在laravel中,dingo是针对laravel、lumen框架的api开发工具包;主要有路由版本管理、“Http Exception”异常处理和“Response Transform”转化响应格式三个功能。
php正则替换函数的整理:1、preg_filter函数用于执行一个正则表达式搜索和替换。2、preg_replace_callback函数执行一个正则表达式搜索并且使用一个回调进行替换。
今天小编就为大家分享一篇关于PDO::rollBack讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008