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 数据库迁移中integer类型是无法指定长度的问题)
- laravel服务器设置(基于Laravel-admin 后台的自定义页面用法详解)
- laravel接口请求模拟(Laravel框架控制器的request与response用法示例)
- laravel架构设置(Laravel框架查询构造器 CURD操作示例)
- laravel框架入门项目(在laravel框架中使用model层的方法)
- laravel框架的业务流程顺序(Laravel+Dingo/Api 自定义响应的实现)
- laravel 权限管理(laravel框架 laravel-admin上传图片到oss的方法)
- laravel指定管理员(在laravel-admin中列表中禁止某行编辑、删除的方法)
- laravel关闭错误提示(解决laravel session失效的问题)
- laravel数据绑定(laravel-admin表单提交隐藏一些数据,回调时获取数据的方法)
- laravel数据表配置(laravel实现按月或天或小时统计mysql数据的方法)
- laravel怎么获取单个框架(laravel-admin自动生成模块,及相关基础配置方法)
- laravel 用户登录认证(Laravel5.5 实现后台管理登录的方法自定义用户表登录)
- laravel关于视图使用语法(在laravel中使用with实现动态添加where条件)
- laravel 后台管理框架(关于Laravel-admin的基础用法总结和自定义model详解)
- laravel8 前后端分离方案(laravel 根据不同组织加载不同视图的实现)
- 官宣 全椒籍明星许海峰 奚秀兰 方芳 王璐瑶携手回家 走太平(全椒籍明星许海峰)
- 以前全椒人是怎么过冬的 满满都是回忆(以前全椒人是怎么过冬的)
- NVIDIA显卡份额冲上88 A饭发愁 游戏优化恐没A卡份了(NVIDIA显卡份额冲上88A饭发愁)
- AMD YES A卡还是N卡 A卡和N卡的区别(AMDYESA卡还是N卡)
- 以后显卡多了一个新选择,N卡和A卡外又多了个I卡(以后显卡多了一个新选择)
- 读卖乐园的彩灯(读卖乐园的彩灯)
热门推荐
- jQuery里$(this)和this的区别有哪些
- php网页生成程序(php生成静态页面并实现预览功能)
- php 静态方法(PHP的静态方法与普通方法用法实例分析)
- h5适配横屏(详解移动端h5页面根据屏幕适配的四种方案)
- centos怎样开启tomcat(Centos8.2云服务器环境安装Tomcat8.5的详细教程)
- dedecms用法(将百度编辑器Ueditor整合到dedecms中的方法)
- python自动处理图片(python制作图片缩略图)
- webpack常用的配置(webpack-dev-server搭建本地服务器的实现)
- django查找路径(Django Sitemap 站点地图的实现方法)
- nginx怎么配置静态文件(Nginx 过滤静态资源文件的访问日志的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9