登录  /  注册
TP5 远程一对多关联 参数怎么填
葫芦娃平衡盘
葫芦娃平衡盘 2018-05-08 14:33:44
[PHP讨论组]

先说思路 根据order_goods里的goodsiD找到goods表里的shop_id 然后根据shop_id在shop表里找name 其中order_goods表与shop表没有关联
我模仿TP5里的写
public function shop()
   {
       return $this->hasManyThrough('Shop','Goods','goods_id','shop_id','id')->setEagerlyType(0);
   }
hasManyThrough('关联模型名','中间模型名','外键名','中间模型关联键名','当前模型主键名',['模型别名定义']);
就是后面的参数不知道一个写那个 大神们能帮忙指教一下吗

葫芦娃平衡盘
葫芦娃平衡盘

全部回复(1)
天蓬老师

请打开trace,将生成的SQL语句,贴出来

  • 回复 不好意思 老师 我不知道怎么打开trace...
    葫芦娃平衡盘 作者 2018-05-08 16:27:47
  • 回复 请把官方手册通读一遍: https://www.kancloud.cn/manual/thinkphp5_1/354096
    天蓬老师 作者 2018-05-08 16:56:40
  • 回复 老师 找到了 [ SQL ] SHOW COLUMNS FROM `ant_auth_group_access` [ RunTime:0.002001s ] [ SQL ] SELECT `aga`.`uid`,`aga`.`group_id`,`ag`.`id`,`ag`.`pid`,`ag`.`name`,`ag`.`rules` FROM `ant_auth_group_access` `aga` LEFT JOIN `ant_auth_group` `ag` ON `aga`.`group_id`=`ag`.`id` WHERE ( aga.uid='1' and ag.status='normal' ) [ RunTime:0.002000s ] [ SQL ] SHOW COLUMNS FROM `ant_auth_rule` [ RunTime:0.003000s ] [ SQL ] SELECT `id`,`pid`,`condition`,`icon`,`name`,`title`,`ismenu` FROM `ant_auth_rule` WHERE `status` = 'normal' [ RunTime:0.003000s ] [ SQL ] SHOW COLUMNS FROM `ant_order_goods` [ RunTime:0.003000s ] [ SQL ] SELECT * FROM `ant_order_goods` WHERE `id` = 13 LIMIT 1 [ RunTime:0.001000s ] [ SQL ] SHOW COLUMNS FROM `ant_goods` [ RunTime:0.003000s ] [ SQL ] SHOW COLUMNS FROM `ant_shop` [ RunTime:0.003000s ] 他的意思是没有找到 ant_goods和ant_shop吗
    葫芦娃平衡盘 作者 2018-05-08 17:23:10
  • 回复 我有一点不是很明白 为什么只要3个参数就可以 因为 我是根据主表的字段(第一个)对应中间表的一个字段(第二个),然后得到中间白对应的某条数据 再拿其中另外一个字段(第三个)来对应最后一个表的数据id(第四个) 所以我想应该要四个字段才能 这就导致我不清楚这三个参数填那个
    葫芦娃平衡盘 作者 2018-05-08 17:30:05
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号