我有三张桌子
我的代码如下:
我的帖子控制器
$data['all_categories'] = $this->category_model->get_all_categories();
$data['posts'] = $this->post_model->get_posts();
$data['users'] = $this->user_model->get_user();
$this->load->view('pages/template', $data);
我的post_model
$this->db->order_by('posts.id', 'DESC');
$this->db->join('categories', 'categories.id = posts.category_id');
$this->db->join('users', 'users.id = posts.user_id');
$query = $this->db->get('post');
return $query->result_array();
我的索引视图
<?php foreach ($posts as $post): ?>
<br>
<div class="media">
<div class="media-body" style="margin-left: 5px;">
<h5><?php echo $post['title']; ?></h5>
<small class="post-date"><span class="fa fa-user"></span> <strong><?php echo $post['username']; ?></strong> | <span class="fa fa-tags"></span> <strong><?php echo $post['name']; ?></strong></small><br>
<?php echo character_limiter($post['content'], 250); ?>
<hr>
</div>
</div>
<?php endforeach; ?>
我在索引视图中成功显示了它,但用户名和类别名称在单个帖子中不起作用。
我的帖子
<h5><?php echo $post['title']; ?></h5>
<small class="post-date"><span class="fa fa-user"></span> <strong><?php echo $post['username']; ?></strong> | <span class="fa fa-tags"></span> <strong><?php echo $post['category_id']; ?></strong></small><br>
<?php echo $post['content']; ?>
请帮帮我们。谢谢!
答案 0 :(得分:0)
在文件中添加以下代码。
在模型中
public function load_posts(){
$this->db->select('tbl_p.*, tbl_u.username, tbl_u.pass, tbl_c.name as category_name');
$this->db->from('posts as tbl_p');
$this->db->join('users as tbl_u', 'tbl_u.id = tbl_p.user_id', 'left');
$this->db->join('categories as tbl_c', 'tbl_c.id = tbl_p.cat_id', 'left');
$this->db->order_by('tbl_p.id', 'DESC');
$query = $this->db->get();
return ($query->num_rows() > 0) ? $query->result_array() : false;
}
在控制器中
$data['posts'] = $this->post_model->load_posts();
答案 1 :(得分:0)
可能是因为同一行名称。对于您选择的每一行,请使用SELECT AS“unique_name”。