[英]SPIP API SQL, left join on a custom table
使用SPIP ,我試圖擁有一個系統,該系統每天將隨機選擇一篇文章。 我需要存儲當天的文章有兩個主要原因:
為了能夠存儲所選項目,我創建了一個通用表:
CREATE TABLE IF NOT EXISTS `spip_random` (
`id_random` bigint(21) NOT NULL AUTO_INCREMENT,
`object` varchar(25) NOT NULL,
`id_object` bigint(21) NOT NULL DEFAULT '0',
`type` text NOT NULL,
`date_picked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id_random`),
KEY `object` (`object`,`id_object`),
KEY `id_random` (`id_random`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
這是一堆可以存儲的行:
(1, 'article', 54, 'article_of_the_day', '2014-11-29 00:03:54')
(2, 'article', 198, 'article_of_the_day', '2014-11-30 09:32:03')
(3, 'article', 113, 'article_of_the_day', '2014-12-01 14:11:04')
(4, 'article', 3, 'article_of_the_day', '2014-12-02 11:52:28')
選擇當天文章的腳本效果很好。
現在,當我嘗試在SPIP循環中檢索本文時遇到了一個問題。 我正在考慮使用這種循環:
<BOUCLE_day(ARTICLES spip_random) {par date_picked} {inverse} {0,1}>
#ID_ARTICLE
</BOUCLE_day>
如SPIP文檔( EN / FR )中所述,應該在spip_articles
和spip_random
之間完成連接,因為我擁有以下兩個字段:
object
id_object
但是什么也沒返回。
如果我嘗試這個簡單的循環,它將顯示正確的#ID_OBJECT
:
<BOUCLE_day(spip_random) {par date_picked} {inverse} {0,1}>
#ID_OBJECT
</BOUCLE_day>
我根本無法加入我的自定義表( spip_random
)和ARTICLES
( spip_articles
)。 我想念什么嗎?
我終於找到答案了。
SPIP使用法語作為默認語言,包括用於函數,關鍵字和... SQL列!
我需要使用objet
和id_objet
來使此代碼起作用(注意缺少的c
):
CREATE TABLE IF NOT EXISTS `spip_random` (
`id_random` bigint(21) NOT NULL AUTO_INCREMENT,
`objet` varchar(25) NOT NULL,
`id_objet` bigint(21) NOT NULL DEFAULT '0',
`type` text NOT NULL,
`date_picked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id_random`),
KEY `objet` (`objet`,`id_objet`),
KEY `id_random` (`id_random`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
您為什么不使用發布日期? 然后只顯示當天的文章。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.