您的表格佈局似乎不完整或缺少信息。
這些表格是如何相互連接的?
此外,您嘗試選擇哪些數據以及通過哪些參數?
是否也可以在用戶表中找到用戶的authord?
你想挑選一個vs(參數= id_versus)並從中選擇所有數據嗎?
function showDataFromVersus($versusToShow) {
$this->db->select('*'); // select all data
$this->db->from('versus'); // get data from table versus
$this->db->join('pics', 'pics.id = versus.id_pic1'); // get data pic2
$this->db->join('pics', 'pics.id = versus.id.pic2'); // get data pic1
$this->db->join('users', 'users.id = versus.id_author'); // get data versus author
$this->db->join('comments', 'comments.id_versus = versus.id'); // select comments
$this->db->join('users', 'users.id = comments.id_author'); // get data comment author
$this->db->join('vote', 'vote.id_versus = versus.id'); // get votes
$this->db->where('versus.id', $versusToShow);
}
該函數接受一個與id相對應的並返回鏈接到它的所有數據。
MySQL的查詢因爲這將是
SELECT *
FROM versus
JOIN pics ON pics.id = versus.id_pic1
JOIN pics ON pics.id = versus.id_pic2
JOIN users ON users.id = versus.id_author
JOIN comments ON comment.id_versus = versus.id
JOIN users ON users.id = comments.id_author
JOIN vote ON vote.id_versus = versus.id
WHERE versus.id = 1
結果將包含大量列,並且我沒有測試過羯羊笨可以用雙列名的工作。
也會有相當多的'雙'行。對於每個註釋,每個投票,會有一個新行具有相同的對比數據
| ------------- VERSUS --------------| - PIC1 - | - PIC2 - | - USERS - | --------- COMMENT --------- | ------ VOTE ------ |
| id | id_pic1 | id_pic2 | id_author | id | ... | id | ... | id | .... | id_versus | id_author | ... | id_versus | id_pic |
你想要什麼從DB要「問」?這是MySQL? – ghostika 2013-02-21 22:29:05
我想要一個對象與包含$ versus-> comments,$ versus-> pic1,$ versus-> pic2等的對象......與我對比的所有內容。我知道這只是一個很大的疑問,cakePhP包含很多幫助(有限的遞歸),但在CI中,我必須說我不知道如何寫下它。 – 2013-02-21 23:48:44