淺談laravel中的關(guān)聯(lián)查詢(xún)with的問(wèn)題
表結(jié)構(gòu)
主表結(jié)構(gòu):
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
附表結(jié)構(gòu):
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插入隨機(jī)數(shù)據(jù)10W條
測(cè)試
分別建立User,Options模型,并且建立一對(duì)一的關(guān)系,
代碼如下:
User::with(['options'=>function($query){ $query->where('sex','=','1'); }])->paginate(15); laravel的debug監(jiān)控到的SQL運(yùn)行如下: 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'
結(jié)論
如果是需要使用附表的過(guò)濾做列表篩選,使用with就不是很好了!
使用with的的意思,在確定主信息的時(shí)候,羅列符合條件的附表信息,適合單條或者少量主表信息或者主表信息篩選
以上這篇淺談laravel中的關(guān)聯(lián)查詢(xún)with的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
采用ThinkPHP中F方法實(shí)現(xiàn)快速緩存實(shí)例
一般使用文件方式的緩存就能夠滿(mǎn)足要求,而thinkPHP還提供了一個(gè)專(zhuān)門(mén)用于文件方式的快速緩存方法F方法,需要的朋友可以參考下2014-06-06實(shí)例詳解PHP中html word 互轉(zhuǎn)的方法
這篇文章主要介紹了實(shí)例詳解PHP中html word 互轉(zhuǎn)的方法的相關(guān)資料,涉及到php html word互轉(zhuǎn)的相關(guān)知識(shí),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值2016-01-01分享下頁(yè)面關(guān)鍵字抓取www.icbase.com站點(diǎn)代碼(帶asp.net參數(shù)的)
這篇文章主要介紹了分享下頁(yè)面關(guān)鍵字抓取www.icbase.com站點(diǎn)代碼(帶asp.net參數(shù)的)的相關(guān)資料,需要的朋友可以參考下2014-01-01ThinkPHP行為擴(kuò)展Behavior應(yīng)用實(shí)例詳解
這篇文章主要介紹了ThinkPHP行為擴(kuò)展Behavior應(yīng)用實(shí)例,對(duì)于讀者深入了解ThinkPHP框架程序設(shè)計(jì)大有幫助,需要的朋友可以參考下2014-07-07Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
這篇文章主要介紹了Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu),簡(jiǎn)單分析了Thinkphp源碼的獲取方法、下載地址、安裝環(huán)境要求以及目錄結(jié)構(gòu),需要的朋友可以參考下2020-04-04