thinkphp四级关联查询怎么写 ,在线等

mengfk000 2014-11-25 11:03:29
thinkphp四级关联查询怎么写?关系:A在B的aid,B在C的bid,C在D的Cid,怎样关联起来呢?
A-->B-->C-->D
M("D")->jion("A on B.aid=A.id)->jion("B on C.bid=B.id)->jion("C on D.cid=C.id) 这样写不对
...全文
134 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengfk000 2014-11-25
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
你的表达式写错了 ->join('A on B.aid=A.id')->join("B on C.bid=B.id")->join("C on D.cid=C.id")
这样写不行,如果是->join('A on B.aid=A.id')->join("C on B.bid=C.id")->join("D on B.cid=D.id") 这样可以。
wxhbbdd 2014-11-25
  • 打赏
  • 举报
回复
你jion 直接改成join句子就对了 ,没问题!
深圳phper 2014-11-25
  • 打赏
  • 举报
回复
应该是join
深圳phper 2014-11-25
  • 打赏
  • 举报
回复
join() 里面直接写join吧
xuzuning 2014-11-25
  • 打赏
  • 举报
回复
你的表达式写错了 ->join('A on B.aid=A.id')->join("B on C.bid=B.id")->join("C on D.cid=C.id")
mengfk000 2014-11-25
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
你把产生的 sql 指令放到 mysql 管理器或 phpmyadmin 中执行一下 看看原始的错误信息是什么
找到问题了,原来是这几个的顺序错了,把D防止最前面,然后是C,再次的B,再次是A
xuzuning 2014-11-25
  • 打赏
  • 举报
回复
你把产生的 sql 指令放到 mysql 管理器或 phpmyadmin 中执行一下 看看原始的错误信息是什么
mengfk000 2014-11-25
  • 打赏
  • 举报
回复
引用 9 楼 xuzuning 的回复:
1054 - Unknown column 未知的列 显然是有字段名写错了,请仔细检查一下
我也知道报这个错是名字写错了,但是我核对了好几遍,确定名字没错
xuzuning 2014-11-25
  • 打赏
  • 举报
回复
1054 - Unknown column 未知的列 显然是有字段名写错了,请仔细检查一下
mengfk000 2014-11-25
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
你看看最后产生的 SQL 指令 是形如这样的,就符合你的要求了
select * from A left join b on a.id=b.aid
    left join c on b.id=c.bid
    left join d on d.id=d.cid
产生的sql是这种,但是它报错了,[Err] 1054 - Unknown column
xuzuning 2014-11-25
  • 打赏
  • 举报
回复
你看看最后产生的 SQL 指令
是形如这样的,就符合你的要求了
select * from A left join b on a.id=b.aid
left join c on b.id=c.bid
left join d on d.id=d.cid
mengfk000 2014-11-25
  • 打赏
  • 举报
回复
引用 4 楼 wxhbbdd 的回复:
你jion 直接改成join句子就对了 ,没问题!
left、right、inner,不写都不对

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧