V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lp7631010
V2EX  ›  PHP

thinkphp5.1 关联预载入的一个 bug?

  •  1
     
  •   lp7631010 · 2018-07-03 22:26:14 +08:00 · 2918 次点击
    这是一个创建于 2336 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下面这段是从官方文档上复制的:

    如果要指定属性查询,可以使用:

    $list = User::field('id,name')->with(['profile'=>function($query){ $query->field('email,phone'); }])->select([1,2,3]);


    凭良心讲,这段代码是你们有测试过的么,确定闭包里的 field 起到了查询指定字段的作用么。。还是说这是将来要支持的写法,提前放进了文档里面???心累,失望,有碰到相同问题的没

    12 条回复    2018-07-04 10:53:24 +08:00
    torbrowserbridge
        1
    torbrowserbridge  
       2018-07-03 22:55:25 +08:00 via Android
    新项目,老老实实用 laravel 不好么。何必找虐呢。
    lp7631010
        2
    lp7631010  
    OP
       2018-07-03 23:00:44 +08:00
    问题是已经在用了啊 而且其他同事之前都是在用 tp3.2 一下子跨到 laravel 项目进度也是个问题啊
    chinvo
        3
    chinvo  
       2018-07-03 23:03:26 +08:00
    请问你在使用的 TP 版本?
    lp7631010
        4
    lp7631010  
    OP
       2018-07-03 23:06:09 +08:00
    @chinvo 5.1.17
    changwei
        5
    changwei  
       2018-07-03 23:22:31 +08:00
    你直接去提 issue 呗。。。
    jayin
        6
    jayin  
       2018-07-03 23:28:14 +08:00
    升级下。。
    chinvo
        7
    chinvo  
       2018-07-03 23:30:12 +08:00
    @lp7631010 #4 刚刚在组里问了下,还没有负责这部分的人给反馈,你可以试试升级到 5.1.18 或者 dev-master 版本。
    lp7631010
        8
    lp7631010  
    OP
       2018-07-04 09:19:35 +08:00
    @chinvo 更新到 5.1.18 也并没有效果,而且对闭包里的 query 做任何链式操作都不会有任何影响,调用不存在的方法也不会报错,好像根本就没有走进去
    topthink
        9
    topthink  
       2018-07-04 09:22:47 +08:00
    抱歉 这是官方文档的失误,我已经修正文档了,因为指定属性的时候必须包含关联键。其实没有必要这样操作,规范的建议是在输出的时候使用 hidden 隐藏。
    lp7631010
        10
    lp7631010  
    OP
       2018-07-04 09:58:09 +08:00
    @topthink 问题是多对多的话 预载入包含关联键怎么包含 不在一个表 ; 而且那个 hidden 对查出来的关联数据无效,按文档上操作也没用哦
    lp7631010
        11
    lp7631010  
    OP
       2018-07-04 10:13:58 +08:00
    这样子看来列表展示关联数据的查询只能通过 db 类的拼接 join 去完成了
    topthink
        12
    topthink  
       2018-07-04 10:53:24 +08:00
    @lp7631010 关于关联操作部分 建议首先阅读下官方的掌握数据库和模型的教程 会说的比较详细一些
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:28 · PVG 02:28 · LAX 10:28 · JFK 13:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.