laravel关联模型字段冲突(浅谈laravel中的关联查询with的问题)
类别:编程学习 浏览量:581
时间:2021-10-09 00:34:39 laravel关联模型字段冲突
浅谈laravel中的关联查询with的问题表结构
主表结构:
|
Create Table CREATE TABLE ` user ` ( `uid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, ` name ` varchar (255) COLLATE utf8mb4_unicode_ci NOT NULL , `email` varbinary(255) NOT NULL , PRIMARY KEY (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=114001 DEFAULT CHARSET=utf8mb4 COLLATE =utf8mb4_unicode_ci |
附表结构:
|
CREATE TABLE `user_options` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `uid` mediumint(8) unsigned NOT NULL , `age` tinyint(3) NOT NULL , `sex` tinyint(1) NOT NULL , PRIMARY KEY (`id`), KEY `options_key` (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=114001 DEFAULT CHARSET=utf8mb4 COLLATE =utf8mb4_unicode_ci |
并使用seed插入随机数据10W条
测试
分别建立User,Options模型,并且建立一对一的关系,
代码如下:
|
User :: with ([ 'options' => function ($query){ $query-> where ( 'sex' , '=' , '1' ); }])->paginate(15); laravel的debug监控到的SQL运行如下: select count (*) as aggregate from ` user ` select * from ` user ` limit 15 offset 0 select * from `user_options` where `user_options`.`uid` in ( '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' , '13' , '14' , '15' ) and `sex` = '1' |
结论
如果是需要使用附表的过滤做列表筛选,使用with就不是很好了!
使用with的的意思,在确定主信息的时候,罗列符合条件的附表信息,适合单条或者少量主表信息或者主表信息筛选
以上这篇浅谈laravel中的关联查询with的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/diyly/article/details/78552430
您可能感兴趣
- laravel 开发自定义组件(laravel实现上传图片并在页面显示的例子)
- laravel5.2模型返回数组(解决Laravel5.5下的toArray问题)
- laravel框架入门项目(在laravel框架中使用model层的方法)
- phplaravel一般开发什么项目(laravel 去掉index.php伪静态的操作方法)
- laravel认证系统(Laravel框架Auth用户认证操作实例分析)
- laravel框架的运行机制(Laravel5框架自定义错误页面配置操作示例)
- laravel 获取数据库操作异常(Laravel Eloquent ORM 多条件查询的例子)
- laravel使用教程(基于Laravel5.4版本的基本增删改查操作方法)
- laravel提取数据库的字段(Laravel创建数据库表结构的例子)
- laravel数据库数据代码(在Laravel的Model层做数据缓存的实现)
- laravel活动时间查询(laravel 时间格式转时间戳的例子)
- laravel模型获取表名(Laravel 对某一列进行筛选然后求和sum的例子)
- laravel授权使用方法(Laravel 自带的Auth验证登录方法)
- laravel新增数据表(laravel实现上传图片的两种方式小结)
- laravel 框架关键技术解析(在laravel框架中实现封装公共方法全局调用)
- laravel后台框架(laravel-admin的多级联动方法)
- 靳东领衔打造高精职场 新丽出品《精英律师》曝定妆照(靳东领衔打造高精职场)
- 靳东新剧《精英律师》定档,众星云集,这剧可追(靳东新剧精英律师定档)
- 精英律师 廖佳敏封印恋情曝光,顾婕马失前蹄 你个老不死的(廖佳敏封印恋情曝光)
- 以家人之名广受好评,剧情生动引起观众共鸣,演员张新成圈粉无数(以家人之名广受好评)
- 三兄妹感情再遇波折,人设接连崩塌 《以家人之名》剧情猜不透(三兄妹感情再遇波折)
- 《小敏家》金波想要复婚 这只是他圈套的第1步,更可恶的在后面(小敏家金波想要复婚)
热门推荐
- nginx网站集群(Nginx实现高可用集群构建Keepalived+Haproxy+Nginx)
- mysql 排序源码(MySQL排序原理和案例详析)
- ftp文件操作三种类型(详解ftp创建文件权限问题)
- sqlserver查看某个库所有表(SQL Server怎么找出一个表包含的页信息Page)
- SQL SERVER 数据库外键
- 虚拟主机windows和linux啥区别(Linux虚拟主机的好处有哪些?)
- nginx过滤器漏洞(Nginx反爬虫策略,防止UA抓取网站)
- dedecms模板特点(为DedeCMS换上精美多样的提示信息窗口)
- python中test函数用法(Python TestCase中的断言方法介绍)
- 微信小程序企业微信打卡(使用Python实现企业微信的自动打卡功能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9