如何从CodeIgniter HMVC中的类别模块获取新闻模块中的帖子类别名称

时间:2014-04-23 06:10:37

标签: php mysql sql codeigniter hmvc

我想获取新闻帖的类别名称。我可以轻松获取类别ID ,但我希望使用类别ID 或其他方法获取类别名称。我该怎么做?

这是我在控制器中显示我的博客文章的方式

function post($slug = FALSE)
{
    if (isset($slug)) {
        $data['query'] = $this->mdl_blogs->get_where_slug($slug);

        $data['view_file'] = "blog_view";
        $this->load->module('template');
        $this->template->public_one_col($data);
    }



}
模型

中的

function get_where_slug($slug){
 $table = $this->get_table();
$this->db->where('news_slug', $slug);
$query=$this->db->get($table);
return $query;
}
 in view
 <?php
                foreach ($query->result() as $row) {

                $data['news_title'] = $row->news_title;
                $news_body = $row->news_body;
                $news_slug = $row->news_slug;
                $category_id = $row->category_id;


                //$data['category_name'] = $row->category_name;
                //$news_category = $row->news_category;
                    ?>

<h2><a href="<?php echo   (base_url().'blogs/post/'.$news_slug) ;?>">
 <?php echo $data['news_title'];?></a></h2>
                <p><?php echo $news_body;?></p>
                <p><?php echo $category_id;?></p>



                                    <?php
                    }
                    ?>
                    <?php
                        //echo Modules::run('comments');
                    ?>

此处我还想显示类别名称。我想从类别表

中获取它

这是我的表格

in News table 
news_id
category_id
news_slug
......

in categories 
category_id
category_name
category_slug

1 个答案:

答案 0 :(得分:1)

您需要加入模型中的类别表

function get_where_slug($slug){
$table = $this->get_table();
$query=$this->db
            ->select('n.*,c.category_name,c.category_slug')
            ->from($table.' n')
            ->join('category c','n.category_id=c.category_id','LEFT')
            ->where('n.news_slug', $slug)
            ->get();
return $query;
}

在您的视图中,您可以在foreach循环中将类别名称设为

$category_name = $row->category_name;

category_slug同样如果您也想要