如果要指定属性查询,可以使用:
$list = User::field('id,name')->with(['profile'=>function($query){ $query->field('email,phone'); }])->select([1,2,3]);
凭良心讲,这段代码是你们有测试过的么,确定闭包里的 field 起到了查询指定字段的作用么。。还是说这是将来要支持的写法,提前放进了文档里面???心累,失望,有碰到相同问题的没
1
torbrowserbridge 2018-07-03 22:55:25 +08:00 via Android
新项目,老老实实用 laravel 不好么。何必找虐呢。
|
2
lp7631010 OP 问题是已经在用了啊 而且其他同事之前都是在用 tp3.2 一下子跨到 laravel 项目进度也是个问题啊
|
3
chinvo 2018-07-03 23:03:26 +08:00
请问你在使用的 TP 版本?
|
5
changwei 2018-07-03 23:22:31 +08:00
你直接去提 issue 呗。。。
|
6
jayin 2018-07-03 23:28:14 +08:00
升级下。。
|
7
chinvo 2018-07-03 23:30:12 +08:00
@lp7631010 #4 刚刚在组里问了下,还没有负责这部分的人给反馈,你可以试试升级到 5.1.18 或者 dev-master 版本。
|
8
lp7631010 OP @chinvo 更新到 5.1.18 也并没有效果,而且对闭包里的 query 做任何链式操作都不会有任何影响,调用不存在的方法也不会报错,好像根本就没有走进去
|
9
topthink 2018-07-04 09:22:47 +08:00
抱歉 这是官方文档的失误,我已经修正文档了,因为指定属性的时候必须包含关联键。其实没有必要这样操作,规范的建议是在输出的时候使用 hidden 隐藏。
|
10
lp7631010 OP @topthink 问题是多对多的话 预载入包含关联键怎么包含 不在一个表 ; 而且那个 hidden 对查出来的关联数据无效,按文档上操作也没用哦
|
11
lp7631010 OP 这样子看来列表展示关联数据的查询只能通过 db 类的拼接 join 去完成了
|