thinkphp四級關聯查詢怎麼寫 ,線上等

來源:互聯網
上載者:User
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
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.