Rumah > pembangunan bahagian belakang > tutorial php > thinkphp四级关联查询怎么写 ,在线等

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:44:26
asal
1162 orang telah melayarinya

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
Salin selepas log masuk
Salin selepas log masuk

你看看最后产生的 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
Salin selepas log masuk
Salin selepas log masuk


产生的sql是这种,但是它报错了,[Err] 1054 - Unknown column 

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

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


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

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

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


找到问题了,原来是这几个的顺序错了,把D防止最前面,然后是C,再次的B,再次是A
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan