我希望你能帮助我,因为我的大脑现在正在流血:
具体解释:
在我的网站上,我有一张桌子。 A vs.是两张图片之间的投票。
表格包含2个字段:第一张图片为 id_pic1 ,第二张为 id_pic2 。
每个vs.与评论表( id_versus )和用户表( id_versus )相关联。
最后一件事是:每张照片上的每张照片都是表格投票的链接(id_pic,id_versus)。
我以前使用cakePhP所以包含使查询变得容易,但是现在,使用CI,我的大脑被冻结了。
如果有人可以帮我解决我应该做的一般性问题,我会感激生活。
提前致谢
编辑: 这是db的简化视图:
与 id_pic1 id_pic2 id_author
用户 ID
图片 ID
评论 id_versus id_author
表决 id_versus id_pic
答案 0 :(得分:0)
这是在CI中完成多个连接的方式,根据此
创建 $this->db->select('aw.id,awt.title,aw.price,aw.email,aw.is_shop as star_shop,aw.video');
$this->db->from('artworks aw');
$this->db->join('artwork_translations awt', 'aw.id = awt.artwork_id');
$this->db->join('languages l', 'l.id = awt.language_id');
$this->db->where('l.code', $language_code);
$this->db->where('awt.status', 1);
$this->db->where('aw.artist_id', $artist_id);
$this->db->order_by('aw.id DESC');
$sub_categories = $this->db->get();
return $sub_categories->result();
答案 1 :(得分:0)
您的桌面布局似乎不完整或缺少信息 表格如何相互连接?
此外,您要选择哪些数据以及哪些参数?
是否也可以在users-table中找到用户的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
结果将包含很多列,我还没有经过测试,CodeIgniter可以使用双列名称。
还会有相当多的“双重”'行。对于每个评论和每个投票,将有一个具有相同的对数据
| ------------- VERSUS --------------| - PIC1 - | - PIC2 - | - USERS - | --------- COMMENT --------- | ------ VOTE ------ |
| id | id_pic1 | id_pic2 | id_author | id | ... | id | ... | id | .... | id_versus | id_author | ... | id_versus | id_pic |