laravel中DB::raw方法用于做什么的,怎样用
Admin 2022-06-16 群英技术资讯 698 次浏览
在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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本节将为你讲解PHP过滤器的使用,PHP过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。什么是PHP过滤器?PHP过滤器用于验证和过滤来自非安全来源的数据。
php kohana框架设置路由:1、使用 Route:: set ();设置,每一个路由至少有一个默认default路由;2、讲请求转发到控制器上,默认是将请求转发到main控制中的index动作上。
php查询mysql表名字的方法:首先连接服务器,代码为【die("Connection failed: " . mysql..】;然后选择数据库,代码为【while($row = mysql_fetch_array($result))】。
本篇文章给大家带来了关于Laravel的相关知识,其中主要介绍了一些基础知识,包括了怎么安装Laravel、路由、验证器、视图等等相关内容,下面一起来看一下,希望对大家有帮助。
这是最简单的类型。boolean表达了真值,可以为TRUE或FALSE。语法要指定一个布尔值,使用关键字TRUE或FALSE。两个都不区分大小写。<?php$foo=True;//assign...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008