我正在嘗試創建一個包含多個論壇類別的在線論壇。我與所有的類一個概述,每個類別的名下,我要鏈接到最新帖子中提到的類別,這樣的事情:如何在包含的SQL查詢中使用Twig循環值
我的論壇
酷類
最新留言:測試線程通過李四類有趣
最新留言:另一個測試線由李四滑稽的類別
最新留言:笑話線程通過李四
所以,我做了一個SQL查詢來獲取所有論壇類別:
$forumCategories = DB::run('SELECT * FROM forumCategories ORDER BY id ASC')->fetchAll();
並把它變成一個全局變量:
$twig->addGlobal('forumCategories', $forumCategories);
並取得for循環列出所有類別:
{% for category in forumCategories %}
<h3>{{category.title}}</h3>
{% endfor %}
到目前爲止,一切都很好。
但現在,我想顯示每個類別中的最新帖子。我想運行一個SQL查詢並從表forumPosts中獲取最新的帖子,爲每個論壇類別,並在循環內顯示它。我需要顯示來自forumPosts的一行,其中類別與循環中的category.id相同。我該怎麼做呢?
數據庫的結構和內容:
CREATE TABLE `forumCategories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`urlTitle` varchar(255) NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `forumCategories` (`id`, `title`, `urlTitle`, `description`)
VALUES
(1,'Hovedrommet','hovedrommet','Dette er hovedrommet på Nye Dofo.'),
(2,'Forumleker','forumleker','Her kan man leke ulike forumleker.');
CREATE TABLE `forumPosts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`urlTitle` varchar(255) NOT NULL,
`category` int(11) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `forumPosts` (`id`, `title`, `urlTitle`, `category`, `content`)
VALUES
(1,'Test','test',1,'Dette er test1.'),
(2,'Test2','test2',1,'Dette er test2.'),
(3,'Test3','test3',2,'Dette er test3.'),
(4,'Test4','test4',2,'Dette er test4.');
我想輸出是所有類別的「稱號」,以及最新帖子(具有最高的ID)的「稱號」的循環每個類別。我設法得到類別名稱,但不是最新的帖子。
我想下面的輸出:
Hovedrommet
最新留言:Test2的
Forumleker
最新留言:TEST4
這將有助於看到表結構,一些樣本數據,以及您所期望的輸出。 –
@TimBiegeleisen我已經更新了原來的問題 – Galaniitoluodda
哪一列可以用來找到最新的帖子? –