>  기사  >  백엔드 개발  >  thinkphp四级关联查询怎么写 ,在线等

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

WBOY
WBOY원래의
2016-06-23 13:44:261092검색

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) 这样写不对


回复讨论(解决方案)

你的表达式写错了
->join('A on B.aid=A.id')->join("B on C.bid=B.id")->join("C on D.cid=C.id") 

join() 里面直接写join吧

应该是join

你jion 直接改成join句子就对了 ,没问题!

你的表达式写错了
->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") 这样可以。

你jion 直接改成join句子就对了 ,没问题!


left、right、inner,不写都不对

你看看最后产生的 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 指令
是形如这样的,就符合你的要求了

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 

1054 - Unknown column 未知的列
显然是有字段名写错了,请仔细检查一下

1054 - Unknown column 未知的列
显然是有字段名写错了,请仔细检查一下


我也知道报这个错是名字写错了,但是我核对了好几遍,确定名字没错

你把产生的 sql 指令放到 mysql 管理器或 phpmyadmin 中执行一下
看看原始的错误信息是什么

你把产生的 sql 指令放到 mysql 管理器或 phpmyadmin 中执行一下
看看原始的错误信息是什么


找到问题了,原来是这几个的顺序错了,把D防止最前面,然后是C,再次的B,再次是A
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.