laravel测试重连数据库(解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题)
类别:编程学习 浏览量:1352
时间:2021-10-01 01:09:44 laravel测试重连数据库
解决在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条件是不行的,会导致返回结果不返回class为空记录,正确是写法应该是
|
select u.user_id,c. class from users u left join class c on u.user_id=c.user_id and c.status=2; |
没错,正确写法是left join .. on .. and 而非 left join .. on .. where
2.那么,在laravel里这个mysql表达式的写法是怎样的,我查阅了多个手册。。。及国外网友求助问答,得到了以下答案
|
DB::table( 'users as u' ) ->select( 'u.user_id' , 'c.class' ) ->leftJoin( 'class as c' , function ( $join ) { $join ->on( 'c.user_id' , '=' , 'u.user_id' ) ->on( 'c.status' , '=' , '2' ); }) ->get(); |
希望能帮到大家!
以上这篇解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/php_girl/article/details/77478429
您可能感兴趣
- laravel架构设置(Laravel框架查询构造器 CURD操作示例)
- laravel怎么设置返回指定列(在laravel5.2中实现点击用户头像更改头像的方法)
- laravel定时脚本(laravel实现按时间日期进行分组统计方法示例)
- laravel如何设置默认模块(laravel-admin 中列表筛选方法)
- laravel框架配置(Laravel框架实现多数据库连接操作详解)
- laravel开发api支持多少并发(laravel框架 api自定义全局异常处理方法)
- laravel怎么同时连接数据库(Laravel框架实现多个视图共享相同数据的方法详解)
- laravel框架如何查询空的信息(Laravel中validation验证 返回中文提示 全局设置的方法)
- laravel数据返回格式(laravel 关联关系遍历数组的例子)
- laravel活动时间查询(laravel 时间格式转时间戳的例子)
- laravel请求处理流程(详解如何实现Laravel的服务容器的方法示例)
- laravel框架的高级知识点(laravel配置Redis多个库的实现方法)
- laravel使用队列(基于laravel where的高级使用方法)
- laravel mysql 操作方式(Laravel使用原生sql语句并调用的方法)
- Laravel 中创建 Zip 压缩文件并提供下载的实现方法(Laravel 中创建 Zip 压缩文件并提供下载的实现方法)
- laravel查询限制输出设置(laravel validate 设置为中文的例子验证提示为中文)
- 乔欣首演古装大女主,颜值演技双在线(乔欣首演古装大女主)
- 于正又推女性古装大剧 杨蓉乔欣演女配,两位女主成 重头戏(于正又推女性古装大剧)
- 乔欣古装女主戏获热度 作为女主,却没吃到红利(乔欣古装女主戏获热度)
- 爱情是什么(爱情是什么最经典的话)
- 乔欣 古装剧中的高颜值(古装剧中的高颜值)
- 怎么才可以财富自由(如何让自己实现财富自由)
热门推荐
- django对话框(基于django channel实现websocket的聊天室的方法示例)
- 未来10年python前景(Python应用领域和就业形势分析总结)
- 虚拟服务器和云主机的区别(云服务器属于虚拟机么?它们有什么不同?)
- asp.net中Session的操作
- 做网站是使用nginx还是apache(web服务器软件Apache与Nginx的对比分析)
- mysql重新安装失败
- cubeide调试问题(如何使用宝塔安装ionCube扩展)
- 瀑布流模板怎么搞(3种方式实现瀑布流布局小结)
- dockerfile深度解析(Dockerfile文本文件使用方法实例解析)
- mysql面试题及答案100题(几个MySQL高频面试题的解答)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9