V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
lp7631010
V2EX  ›  PHP

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

  •  1
     
  •   lp7631010 · Jul 3, 2018 · 3311 views
    This topic created in 2867 days ago, the information mentioned may be changed or developed.

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

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

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


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

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