Laravel 使用查询构造器配合原生sql语句查询的例子
首先说一下本人使用的版本: 5.5
在很多复杂查询时, 往往需要原生语句进行查询, 在 laravel 中, 我们可以这样使用原生查询
$user = DB::select('select * from users where id= ?', [1])
查询构建器 https://laravel-china.org/docs/laravel/5.5/queries#where-clauses
$sql = '(FROM table_name1 LEFT JOIN table_name2 ON table_name1.id=table_name2.id )'; $res = $DB::table(DB::raw($sql))->where([["id"=>1]])->paginate(10);
在这里里面$sql 充当了 视图表(临时表), 可以是更为复杂的联合查询;
这样我们可以使用 "where","paginate " 等构建器;
需要注意的是: sql 字符串是用 括号 '()' 括起来的, 不然会出错;
以上这篇Laravel 使用查询构造器配合原生sql语句查询的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Laravel Eloquent ORM 多条件查询的例子
一.需求: 在数据搜索时最常见的就是调用同一个方法查询,而查询的字段却可能是其中一个或其中的几个字段一起组合查询,例如:对列表的搜索,基本上都是几个字段随意组合搜索.那么在model里就需要判断有那个字段组合,怎么组合. 网上找了很久,Laravel群里也问了几个,都说没有写过,于是自己写个吧.话不多说,见代码: function findByParam($param = array()) { $select = new Customer(); if (isset($param['name'])
-
探究Laravel使用env函数读取环境变量为null的问题
发现问题 在 Laravel 项目中,如果执行了 php artisan config:cache 命令把配置文件缓存起来后,在 Tinker 中(Tinker 是 Laravel 自带的一个交互式命令行界面),使用 env 函数读取环境变量的值为 null,只有执行 php artisan config:clear 清除配置缓存后就可以读取了,这是为什么呢? 一探究竟 打开 .env 文件看,这些都是有值的: APP_ENV=local APP_KEY=base64:JHE5bOkRg283u
-
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
问题描述:在使用laravel的左联接查询的时候遇到一个问题,查询中带了右表一个筛选条件,导致结果没有返回右表为空的记录. 先附上代码: DB::table('users as u') ->select('u.user_id','c.class') ->leftJoin('class as c','c.user_id','=','u.user_id') ->where('c.status','=',2) ->get(); 解决方案: 1.在mysql的角度上说,直接加where条件
-
Laravel 使用查询构造器配合原生sql语句查询的例子
首先说一下本人使用的版本: 5.5 在很多复杂查询时, 往往需要原生语句进行查询, 在 laravel 中, 我们可以这样使用原生查询 $user = DB::select('select * from users where id= ?', [1]) 查询构建器 https://laravel-china.org/docs/laravel/5.5/queries#where-clauses $sql = '(FROM table_name1 LEFT JOIN table_name2 ON t
-
Laravel使用原生sql语句并调用的方法
有一些sql语句比较复杂,用构造器还不如直接用sql来的方便,我们在laravel中使用原生语句,首先要在开头use DB,然后: $arr = DB::select("select id,sum(parents+1) as total_people from orders where game_id=6 and pay_status=1 and hotel_id=5"); 接下来,我们程序里怎么获取到查询到的值呢? 查询到的是一个数组,但是里面的内容属于对象,我们要这么调用: $ar
-
Laravel框架执行原生SQL语句及使用paginate分页的方法
本文实例讲述了Laravel框架执行原生SQL语句及使用paginate分页的方法.分享给大家供大家参考,具体如下: 1.运行原生sql public function getList($data){ //获取前端传过来的参数 $user = $data['userId']; $office = $data['officeId']; $key = $data['oneKeySearch']; //进行模糊搜索和联合查询 $where = 'and 1=1 '; if($key!=null) {
-
thinkPHP框架中执行原生SQL语句的方法
本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $Model = D(); 或者 $Model = M(); $sql = "select * from `order`"; $voList = $Model->query($sql); 只是需要new一个空的模型继承Model中的方法. 注意query是查功能,execute是增删改
-
详解Java的Hibernate框架中的缓存与原生SQL语句的使用
Hibernate缓存 缓存是所有关于应用程序的性能优化和它位于应用程序和数据库之间,以避免数据库访问多次,让性能关键型应用程序有更好的表现. 缓存对Hibernate很重要,它采用了多级缓存方案下文所述: 第一级缓存: 第一级缓存是Session的缓存,是一个强制性的缓存,通过它所有的请求都必须通过. Session对象不断自身的动力的对象,提交到数据库之前. 如果发出多个更新一个对象,Hibernate试图拖延尽可能长的时间做了更新,以减少发出的更新SQL语句的数量.如果您关闭会话,所有被缓
-
django配置连接数据库及原生sql语句的使用方法
前言 本文主要给大家介绍了关于django配置连接数据库及原生sql语句的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置MySQL为例来讲解.Django连接数据库,不需要单独的创建一个连接对象.只需要在settings.py文件中做好数据库相关的配置就可以了. 示例代码如下: DATABASES = { 'default': { # 数据库引擎(是mysql还是oracle等) 'EN
-
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
本文实例讲述了ThinkPHP3.2.3框架实现执行原生SQL语句的方法.分享给大家供大家参考,具体如下: [查询语句]query方法 示例:查询blog_article表中的文章标题title字段 //构造sql语句 $sql = "select `title` from blog_article"; //或者下面两种,都会自动读取当前设置的表前缀 //$sql = "select `title` from __PREFIX__article"; //$sql =
-
django中使用原生sql语句的方法步骤
raw # row方法:(掺杂着原生sql和orm来执行的操作) res = CookBook.objects.raw('select id as nid from epos_cookbook where id>%s', params=[1, ]) print(res.columns) # ['nid'] print(type(res)) # <class 'django.db.models.query.RawQuerySet'> # 在select里面查询到的数据orm里面的要一一对应
-
Spring Data JPA使用JPQL与原生SQL进行查询的操作
1.使用JPQL语句进行查询 JPQL语言(Java Persistence Query Language)是一种和SQL非常类似的中间性和对象化查询语言,它最终会被编译成针对不同底层数据库的SQL语言,从而屏蔽不同数据库的差异. JPQL语言通过Query接口封装执行,Query 接口封装了执行数据库查询的相关方法.调用 EntityManager 的 Query.NamedQuery 及 NativeQuery 方法可以获得查询对象,进而可调用Query接口的相关方法来执行查询操作. JPQ
-
SpringData如何通过@Query注解支持JPA语句和原生SQL语句
目录 通过@Query注解支持JPA语句和原生SQL语句 @Query注解的用法(Spring Data JPA) 1.一个使用@Query注解的简单例子 2.Like表达式 3.使用Native SQL Query 4.使用@Param注解注入参数 5.SPEL表达式(使用时请参考最后的补充说明) 6.一个较完整的例子 7.解释例6中错误的原因 通过@Query注解支持JPA语句和原生SQL语句 在SpringData中们可是使用继承接口直接按照规则写方法名即可完成查询的方法,不需要写具体的实
随机推荐
- 同一台服务器(电脑)运行多个Tomcat的设置方法步骤
- 安装Oracle10g遭遇ins_ctx.mk问题解决方法
- oracle数据库密码到期怎么解决
- JS实现在线统计一个页面内鼠标点击次数的方法
- JS中数组重排序方法
- 实现动画效果核心方式的js代码
- Laravel5.5新特性之友好报错以及展示详解
- python嵌套函数使用外部函数变量的方法(Python2和Python3)
- Android View 布局流程(Layout)全面解析
- Android程序开发之防止密码输入错误 密码明文显示功能
- windows下安装python paramiko模块的代码
- Python django实现简单的邮件系统发送邮件功能
- ajax中指定innerHTML时如何应用其中的SCRIPT的研究
- php5.2的curl-bug 服务器被php进程卡死问题排查
- 详解SpringMVC加载配置Properties文件的几种方式
- 禁用页面部分JavaScript方法的具体实现
- 多浏览器支持的右下角浮动窗口
- JavaScript如何实现跨域请求
- C#中结构体和字节数组转换实现
- 基于jQuery和CSS3实现APPLE TV海报视差效果