所以我使用的是CodeIgniter和DataMapper。我制作了类似墙的内容,您可以在其中查看文章 链接帖子 图片信息。这是3个不同的表,每个表都有一个名为'pubdate'的列。当您查看显示所有这些内容的墙并且有旧文章但更新链接帖子时,因为他们不“共享”相同的发布日期和它是为每个表单独订购的。
当我上传新的图片帖子到我的Wall页面顶部时,如何使用共享的pubdate制作它们的任何想法?
答案 0 :(得分:2)
您的解决方案是UNION。由于您从3个不同的表中获取数据并且它们之间没有关系,因此最好使用UNION
。 codeigniter的active record
也不支持UNION
,所以你必须编写整个sql查询。看看这个 -
$sql = "(SELECT colA, colB, pubdate as dt FROM articles) UNION
(SELECT colM, colN, pubdate as dt FROM link_posts) UNION
(SELECT colX, colZ, pubdate as dt FROM image_posts)
ORDER BY dt DESC
";
$query = $this->db->query($sql);
答案 1 :(得分:0)
您可以连接每个表并从这些表中选择行。之后,您可以合并这些数组并按日期排序。我认为,这是最糟糕的想法,但它'最有可能成功。
此外,您可以将这些表与一个具有 ID 和 InsertionDate 的Wall表连接起来,您可以通过这些字段创建墙信息源。