我创建了一个模型和控制器,我在其中获取用户评论列表,我想在我的视图中显示他们username
和ID
,这些文件存储在另一个名为users
的表中但是,我还没有弄清楚到底是怎么做的。
这是我的模特
public function fetch_company_reviews($id = NULL) {
$this->db->select('*');
$this->db->where('customer_company_reviews_company_id', $id);
$this->db->from('customer_company_reviews');
$this->db->order_by('customer_company_reviews_id', 'desc');
$this->db->limit(1);
$query = $this->db->get();
if($query->num_rows() == NULL) {
return false;
}
else {
return $query->result();
}
}
这是我的控制器
public function index($id = NULL)
{
$id = $this->input->get('id');
$data['company_info'] = $this->Company_model->fetch_company($id);
$data['company_reviews'] = $this->Company_model->fetch_company_reviews($id);
$get = $data['company_info'];
$this->load->view('includes/header');
$this->load->view('company/company_index', $data);
$this->load->view('includes/footer');
}
这是我的观点
<?php foreach ($company_reviews as $review) { ?>
<div class="review-box">
<div class="row">
<div class="col-sm-3">
</div>
<div class="col-sm-9">
<h4><?= $review->customer_company_reviews_title; ?></h4>
<?= $review->customer_company_reviews_comment; ?>
</div>
</div>
<?php } ?>
表格结构users
id | username
-------------
1 | admin
表格结构customer_company_reviews
cu...reviews_id | cu...reviews_author | cu...reviews_title
---------------------------------------------------------
1 | 1 | Some title
如何从id
获取和访问username
和users
- 表customer_company_reviews_author
- 行将用户ID存储在我的评论表(customer_company_reviews)
中然后最终在我的视图中将其显示为foreach
循环中的变量?
答案 0 :(得分:1)
使用与用户表的连接,如下所示
$this->db->select('customer_company_reviews.* ,users.*');
$this->db->join('users', 'users.id = customer_company_reviews.customer_company_reviews_author');
$this->db->where('customer_company_reviews_company_id', $id);
$this->db->from('customer_company_reviews');
$this->db->order_by('customer_company_reviews_id', 'desc');
$this->db->limit(1);
从两个表中使用*
,因为我们需要来自用户表的id和用户名。
答案 1 :(得分:1)
朋友您可以使用join轻松获取结果。我会帮助您
在模型中
public function fetch_company_reviews($id = NULL)
{
$this->db->select('*');
$this->db->from('customer_company_reviews');
$this->db->join('users', 'customer_company_reviews.customer_company_reviews_company_id = users.reference_review_id', 'left');
$this->db->where('customer_company_reviews_company_id', $id);
$this->db->order_by('customer_company_reviews_id', 'desc');
$this->db->limit(1);
$query = $this->db->get();
return $query->result();
}