【发布时间】:2014-05-09 07:59:06
【问题描述】:
大家好,我有一个问题,我的数据库有 3 个表
tags(id,name);
articles(id,title,smallimage,date,views);
tags_in_news(id,news_id,tag_id);
现在我希望所有 article.titles 都附加到一个标签上。
我试过了,但没有太大帮助:
我的功能:
public function get($obj_id)
{
$this->load->database();
$news = $this->db->query("SELECT
t.name,
t.id,
a.title,
a.date,
a.views,
a.smallimage,
tin.id,
group_concat(a.title)
from tags_in_news tin
inner join tags t on t.id = tin.tag_id
inner join articles a on a.id = tin.news_id
and t.id = ?
group by t.id",array($obj_id));
if ($news->num_rows())
{
$news = $news->result_array();
}
else
{
$news = NULL;
}
return $news;
}
Array
(
[0] => Array
(
[name] => new tag
[id] => 57
[group_concat(a.title,a.views)] => Article1 52,Article3 51,Article3 56
)
)
【问题讨论】:
-
你能更清楚的要求吗?以及新闻表在哪里?
-
News 表不存在,Articles 表存在
-
你能给我看一些示例输出吗?或者你能想出不同的词吗?
-
您是希望将所有文章附加到一个标签上,还是将所有标签附加到一个文章上?
-
所有文章到标签
标签: mysql sql codeigniter codeigniter-2