thinkphp5.1 关联预载入with() 函数查询问题 10C
$list = $list->where('unreceivable','<>',0)->with(['details'=>function($query){
                                    $query->where('state',1)->where('money > actual_money');
            }]);

这个查询条件查出来的是满足where()条件的所有数据 如果不满足with闭包中的数据details中就是空

我现在想要的是满足where()条件和with中的where条件的数据,如果不满足闭包中中的条件的数据 就查不出来

2个回答

已解决 最后用join 联表查询做的 , 大神们谁有更好的方法希望可以提出来

kim007kim
小卒过河 这个方法在5.1.29 LTS版本中就不行了
大约一个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
注意,模型关联预载入不支持缓存预载入
第十季 ThinkPHP个人博客和社交首页
Tp5 关联预载入(模型关联)闭包使用field()的问题
$list = User::field('id,name')-&gt;with(['profile'=&gt;function($query){$query-&gt;field('email,phone');}])-&gt;select([1,2,3]); foreach($list as $user){ // 获取用户关联的profile模型数据 dump($user-&gt;profile); }
【TP5】关联预载入根据条件查询
author:咔咔 wechat:fangkangfk   需求: 需要查询视频类型下面的分类,但是分类有个全部地区跟全部年份总称,所以就需要拼接数据,这个时候就需要用到关联预加载,但是现在只想查出分类下面一级的,再根据一级查询一级的子类。   问题:使用关联预加载怎么使用where查询关联模型     解决方案:  测试结果: 主要看电影下面的分类,数据库就俩个,所以这...
Thinkphp5 踩过的坑-关联预载入
$list = User::field('id,name')-&amp;gt;with(['profile'=&amp;gt;function($query){$query-&amp;gt;field('email,phone');}])-&amp;gt;select([1,2,3]); foreach($list as $user){ // 获取用户关联的profile模型数据 dump($user-&amp;gt;profile);...
thinkphp5.1模型关联 -- 一对一关联
下面两个是关联表:test_user表和test_profile表,关联字段为:test_profile表中的user_id字段关联test_user表中的id字段 模型:User.php中的代码如下: &amp;lt;?php namespace app\index\model; use think\Model; class User extends Model { pr...
如何用关联预载入解决foreach循环问题?
通过本次课程学习运用THinkPHP5实现在线安装功能,AUTH权限认证等功能
关于网页预载入的问题
我看很多网站都有一个预载入功能(抓图如下),就是有一个小圆圈,在不停的转,等一会,网页的那部分就一下子显示出来了,这个效果是怎么实现的。谢谢。rnrn就是这样的图片[img=http://www.taoxings.com/1.jpg][/img]
来个实战,一对一关联预载入查询留言主题
通过本次课程学习运用THinkPHP5实现在线安装功能,AUTH权限认证等功能
THINKPHP5.1模型查询
 控制器 &amp;lt;?php /** * Created by PhpStorm. * User: 10475 * Date: 2018/8/30 * Time: 21:09 */ namespace app\demo\controller; use app\demo\model\Student; use think\Db; class Demo6 { public func...
thinkphp5.1数组混合查询
教你使用5.1的数组对象查询 [技巧] 教你使用5.1的数组查询对象 用过5.0的开发者都比较依赖5.0的数组查询方式,但是很无奈5.1的数组查询方式和5.0的区别很大,因此经常听到开发者抱怨5.1的数组查询不好用。 首先,出于安全和易用性的原因,官方是不推荐使用数组查询条件的,其次,你也许不知道5.1版本其实提供了一个新的数组对象查询的方式用以替代之前的数组条件。 如果你的版本是V5.1.21+...
js中预载入数据
如代码所展示,想要:rn存放当前页面记录、下一页记录、上一页记录。但是运行时出了 success: function(result),list便为空。rn在js中,该赋值是什么类型呢?以c++为例,只是将地址赋值给list了吗,所以出了function,对象清空,于是所指向的也为空?rn有没有什么办法?另外,有没有必要?rnrn[code=JScript]rn var nowList;rn var nextList;rn var lastList;rnrn function loadNext(isNext)rn rn var which;rn if(isNext)rn rn which = String(page + 1);rn rn elsern rn which = String(page - 1);rn rn alert(which);rn $.ajax(rn url: "ajax/getArticle.ashx",rn type: "get",rn datatype: "xml",rn data:pagesize:"10",page:which,sort:"desc",rn success: function(result)rn rn if(isNext)rn rn nextList = $(result).find("test");rn rn elsern rn lastList = $(result).find("test");rn rn ,rn error:function(xq,ts,t)rn rn loadNext(isNext);rn rn );rn rn function next()rn rn page++;rn lastList = nowList;rn loadNext(true);rn $("#articleList").text("");rn showList();rn rn[/code]
如何实现窗口预载入?
我的from1_load里的相关数据相当庞大,需要20秒时间才能完全载入(for next).这期间,也就是完全的假死状态,20秒之后载入完成他才能显示.如何让他显示一个欢迎窗口,一直等到from1_load完成时才关闭?rnrnPrivate Sub Form_Load()rnframe1.visible=truerncall 数据载入rnframe1.visible=falsernend subrnrn上面这样不行.换成窗口也不行,到底怎么样才能让载入的时候能显示点东西?
预载入的问题,50分在线等。
小弟请教各位高手rnrn我这有4个页面分别是:index.asp, 1.asp , 2.asp , 3.asp.rnrn在index.asp里面,用include把另外三个页面都包含进去了。rnrn在用浏览器打开页面的时候,发现在打开2.asp的时候很慢,影响了3.asp的打开,所以我想用ajax预载入2.asp,并且在载入时,有个等待动画。 我应该如何写此段代码呢?rnrn谢谢各位高手。
Thinkphp5.1模型 with操作关联表字段
1.withjoin是一种方法 static function getVisitResult() { $result = self::withjoin('userItems','LEFT') -&gt;where('userItems.id','=',1) -&gt;order('id desc') ...
thinkPHP5.1
thinkPHP5.1框架源码
thinkphp5.1
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。think-captcha、think-helper、think-image、
ThinkPHP5.1
tp5是简单的基于MVC和面向对象的轻量级PHP开发框架,为WEB应用和API开发提供了强有力的支持。Composer与git没安装成功的朋友,经测试没问题。
tp5.1,ThinkPHP5.1,thinkPHP5.1多表查询,联表查询和方法封装
/** * 公共查询数据方法 * @param string $modelStr 模型名称(表名称) * @param $_where_order_field (条件) * @param bool $isReturnResult 是否返回结果 * @param string $count (总数) * @return array ...
THINKPHP5.1在view中使用函数
  &amp;lt;?php namespace app\test\controller; use think\Controller; class Index extends Controller { public function index() { $this-&amp;gt;assign('email','1047588430@qq.com'); $thi...
关联表查询问题
有A,B,C共三个表,A的字段为name,test1,test2。B表是一个字典,字段为name,id1,id2,C表的字段为AB两个表的集合字段为id1,id2,name,test1,test2rn1。要把A的数据查询出来rn2.插入的C,语句如何写
hibernate 查询关联问题
用HQL查询, 比如From Person p , 这样就会把Person类中的关联的Organization类查出来.(Organization是Person中的一个引用), 如果用了select去指定列名, 那返回的又不是一个Person的List.而是Object的List. 怎么设置才能既不把Organization对象查出来,又让它返回一个Person的List?
关于JS的函数载入问题
我在调试自己的代码的时候遇到过一个问题,在标签body的时间onload中一个函数HTML_LOAD()老是报错说该HTML_LOAD()未定义,最后发现是HTML_LOAD()调用的一个子函数的标点符号是中文的。最后解决了问题。但是问题来了:JS是解释性语言,报错的时候应该是运行(更好的说法应该是解释)错误的地方才会报错,但是为什么这里就直接HTML_LOAD()未定义呢?感觉向是编译过 了一样...
thinkphp5.1问题发现与解决
问题描述: 新下载的thinkphp5.1,在第一次配置好环境期待看到欢迎界面的时候,神奇的报错了 报错信息 Parse error: syntax error, unexpected ‘class’ (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or ‘{’ or ‘$’ in F:\mygit\compa...
ThinkPHP5.1教程及问题汇总
目录:一、基础知识:二、教程收藏:三、使用技巧:正文:一、基础知识完全开发手册(API):https://www.kancloud.cn/manual/thinkphp5_1/353946视频教程:https://www.bilibili.com/video/av23313630/?p=1(博客项目实战,推荐有后台项目经验或PHP学习经验者学习,php初学者不太适合)二、教程收藏1.ThinPHP...
Thinkphp5.1 引用第三方包的问题
                                    Thinkphp5.1 导入第三方包的问题 一般刚接触tp5.1的,会很不适应,虽然版本号只是比5.0多了0.1,但是差别挺大,废弃了不少方法,官方的教程又很简单,很多东西没说全,在此鄙视一下框架作者,最起码体谅一下小白嘛,搞了好多天才把5.1使用vendor里面引入第三方包的问题搞好,惨啊,在此分享,让后来的小白别走太多弯...
100分在线等,预载入问题。谢谢
小弟请教各位高手 rnrn我这有4个页面分别是:index.asp, 1.asp , 2.asp , 3.asp. rnrn在index.asp里面,用include把另外三个页面都包含进去了。 rnrn在用浏览器打开页面的时候,发现在打开2.asp的时候很慢,影响了3.asp的打开,所以我想用ajax预载入2.asp,并且在载入时,有个等待动画。 我应该如何写此段代码呢? rnrn谢谢各位高手。
关于图片预载入,限制大小的问题,求教!
function loadImg(img,wd,hg)rnrn if(img.width>wd)rn img.height=wd/img.width*img.height;rn if(img.height>hg)rn img.width=hg/img.height*wd;rn img.height=hg;rn elsern img.width=wd;rn rn elsern if(img.height>hg)rn img.width=hg/img.height*img.width;rn if(img.width>wd)rn img.height=wd/img.width*img.heightrn img.width=wd; rn rn elsern img.height=hg;rn rn rn rn rn rn rn rn rnrnrnrnrn这是我写的一个关于图片载入超过显示大小,就按长宽比例缩小显示的,但是问题是,经常出现打开页面后没有缩小,但是刷新一遍就好了。rn请问这个问题怎么解决,谢谢,或者有没有好的函数关于这个的!
javascript惰性载入函数
// 普通函数 function createXHR(){ var xhr = null; try{ // Firefox,Opera 8.0+,Safari,IE7+ xhr = new XMLHttpRequest(); }catch(e){ // Internet Exporler try{
惰性载入函数
惰性载入函数处理的方式有两种: 在函数被调用时再处理函数。 function createXRH(){ if(typeof XMLHttpRequest != 'undefined'){ console.log('XMLHttpRequest'); createXHR = function(){ console.log(1); ...
tensorflow载入数据函数
在TensorFlow 1.3中,Dataset API是放在contrib包中的: tf.contrib.data.Dataset 而在TensorFlow 1.4中,Dataset API已经从contrib包中移除,变成了核心API的一员: tf.data.Dataset...
多重关联表查询问题
部门表:rnid | name | belong(从属)rn01 | 部门1| 00rn02 | 部门2| 01rn03 | 部门3| 00rn员工表:rnid | name | deptidrn01 | 小红 | 01rn02 | 小明 | 02rn03 | 小张 | 03rnrn怎样把部门1和从属部门1的部门2,所包含的员工都查找出来呢,谢谢!
JavaScript惰性载入函数
JavaScript惰性载入函数 描述:所谓惰性载入,就是说函数的if分支只会执行一次,之后调用函数时,直接进入所支持的分支代码。有两种实现惰性载入的方式,第一种事函数在第一次调用时,对函数本身进行二次处理,该函数会被覆盖为符合分支条件的函数,这样对原函数的调用就不用再经过执行的分支了. 适用场景:在某个场景下我们的函数中有判断语句,这个判断依据在整个项目运行期间一般不会变化,所以判断分支在整个项...
JS惰性载入函数
函数的惰性载入,在Js中很常见的一种编码现象。由于各大浏览器的差异,我们在实现一项功能的时候需要考虑不同浏览器之间的兼容性问题,因此需要进行浏览器嗅探。最常用的嗅探方法就是通过if else的方式判断当前环境是否支持某一对象。例如,使用原生js创建XHR对象: function createXHR(){ if(typeof XMLHttpRequest != 'undefine...
关于关联表查询的问题
现在假设有两个表:a1和b1。a1表的字段名包括:a11,a12(其中a11是字符型,a12是日期型),b1表的字段包括:a11,b12(其中a11,b12都是字符型)。这两个表通过a11字段进行关联。我想通过SQLSelect 语句查找符合条件的记录:例如我想查找:2002年1月1日到2002年3月1日的数据:可是我用以下 SQLSelect 语句查找却无法实现。rn方法1: newsql1=oldsql1+"where a1.a11='"+string(date(sle_1.text))+"' and a1.a11='"+string(date(sle_2.text))+"'"rnds_1.setsqlselect(newsql1)rnds_1.retrieve()rn方法2: newsql1=oldsql1+"where a1.a1_a11='"+string(date(sle_1.text))+"' and a1.a1_a11='"+string(date(sle_2.text))+"'"rnds_1.setsqlselect(newsql1)rnds_1.retrieve()rn我用的是MS SQL 数据库,其中变量oldsql已经在主窗口的open事件中获得了最初的值:oldsql1=dw_1.getsqlselect()rn这样的语句该如何写。
关联数据库的SQL查询问题?
有三个表,父表人员表和两个子表护照表,执照表用‘姓名'主索引关联,每个人都有多本护照,多本执照,其中执照表中的多本执照号码后面数字是相同的,只是前缀不同。护照表中选中的护照记录用BS字段:'*'作了记号,rn现在需要查询做了记号的那些护照所对应的:人员表.姓名,人员表.生日,护照表.护照号,执照表.执照号,其中执照号只需要出来任意一个,因为多个号码数字是相同的,请问可以用一条SQL语句表示么?rn
一个关联表查询的问题
有 table1 如下:rn字段: HID(文本) JE(单精度)rn hd-55555 50000rn hd2-5555 10000rn hd3-5555 500rnbable2 如下:rn字段: HIDH(文本) IDH(文本) JES(数字)rn hd-55555 1 2000rn hd-55555 -1 -100rn hd-55555 1 500rn hd1-0000 1 300rn hd2-5555 1 6000rn hd2-5555 1 1000rn hd2-5555 -1 -2300rn 00001000 -1 -5500rnrn我想得到的值是: table1 JE的总和,table2 HIDH = table1 HID 且 IDH=1 的 JES的总和,table2 HIDH = table1 HID 且 IDH=-1 的 JES的总和rnrn得到的应该是, 值1 = 60500, 值2=9500, 值3=-2400rnrn请问 sql 语句 该如何实现? 谢谢各位!
nHibernate 查询关联表的问题
我想在gridview控件中显示主从表的内容?rnrn主表(user):rn1.人员编号rn2.人员名称rn3.部门代码rnrn从表:(dept)rn1.部门代码rn2.部门名称rnrnGridView中显示: 人员编号,人员名称,部门名称(从dept关联中得到)rnrn本人刚开始学习nHbernate,网上没查到相关资料.希望高手给个思路.谢谢了!rnrnrn
数据库关联表查询的问题
请问关联字段 varchar类型和int类型在 查询速度或效率方面差多少???rnrn一般比较多的是用int类型来关联,比如用id, 但id每次还要查询一次,获取最大的id,然后才知道。rnrn我就是想用单号关联, 单号是自己生成的,就不用去查询一次,但是varchar类型的。rnrnrn请问各位大神,一般怎么操作比较好呢??
一个关联表的查询问题
表A rnrnid name rn1 tomrn2 rosern3 jackrnrn表Brnrnid pid bookrn1 1 60rn2 1 70rn3 2 20 rn4 2 10rn5 2 15rn6 3 90rn7 3 40rnrn我想关联查出 book为最大值的 也就是说结果如下rnid name bookrn1 tom 70rn2 rose 20rn3 jack 90rnrn这个sql如何写啊??
Hibernate关联表查询的问题
1.关联表查询rnrnIterator it = session.find(rn "select s.id,count(post.id),max(p.postDate) " +rn "from Section s LEFT JOIN Post as post on s.id = p.sectionID " + rn "group by s.id " +rn "order by s.id").iterator();rn但是测试时,它总是扔出下面的错误信息: rn"outer or full join must be followed by path expression" rn"outer or full join must be followed by path expression"到底是什么意思?rnrn2.使用本地SQL查询想暂时避开上面的问题 .rnrn代码: rnrnQuery query = session.createSQLQuery( rn "select s.id,count(p.id),max(p.postDate)from "+ rn "section as s LEFT OUTER JOIN post as p on s.id =p.sectionID "+ rn "group by s.id order by s.id", rn new String[] "s","p", rn new Class[] Section.class,Post.class); rnrn仍旧报错rnrn报错信息: rn代码: rnrnHibernate: select s.id,count(p.id),max(p.postDate) rnfrom section as s LEFT OUTER JOIN post as p on s.id = p.sectionID group by s.id rnorder by s.id rnnet.sf.hibernate.JDBCException: SQLException occurred at net.sf.hibernate.impl.SessionImpl.findBySQL(SessionImpl.java:3631) ...... rnCaused by: java.sql.SQLException: Column 'id0_' not found....... rn rnrnCaused by: java.sql.SQLException: Column 'id0_' not found rnrnHibernate生成的sql正确,能够在mysql中进行查询,但"Column 'id0_' not found"是怎么回事? rn请指点. rn
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法