我有一个问题
假设我们的数据库中有这2个表
第一张表:category_lists
第二张表:data_category
因此如果list_data_id等于1 ,则意味着如果您查看 data_category表(其为 6 < / strong>和 7
现在我要从 category_list表查询,以便 6 和 7 会回显清障车和汽车现金。
这是我的代码的样子:
下面是我的控制器:
public function index($listing_name)
{
$this->load->view('layouts/head_layout_seo');
$this->load->view('layouts/head_layout');
$data['main_view'] = 'listings/main_view';
$data['listing_data'] = $this->Listing_model->get_detail_listing($listing_name);
$list_id = $data['listing_data']->list_data_id; // this is what I get list_data_id is equal to 1
$data['category_ads'] = $this->Ads_model->get_ads($list_id); // this is what you need to look
$this->load->view('layouts/main', $data);
$this->load->view('layouts/footer_layout');
}
下面是我的模型:
public function get_ads($list_id)
{
$this->db->where('list_data_id', $list_id);
$query = $this->db->get('data_category');
$query = $query->result();
//return $query;
if (count($query) > 0) {
for ($i=0; $i < count($query); $i++) {
foreach ($query as $value) {
$this->db->where('category_lists_id', $value->category_lists_id);
$querys = $this->db->get('category_lists');
//print_r($query);
return $querys->result();
}
}
}
}
以下是我的观点:
foreach ($category_ads as $value) {
<p><a href=""><?php echo $value->categories; ?></a></p> }
在上面的代码中,我仅获得 1个数据,即清障车,如您从表格中看到的,它假设显示的是 2个数据 > 清障车和汽车现金
有人可以帮我吗?
谢谢
答案 0 :(得分:1)
在您的模型中尝试此操作,因此无需两次调用DB
,也无需loop
public function get_ads($list_id)
{
$this->db->select('cl.category_lists_id,cl.categories');
$this->db->from('category_lists cl');
$this->db->join('data_category dc','cl.category_lists_id = dc.category_lists_id');
$this->db->where('dc.list_data_id',$list_id);
$query = $this->db->get();
if($query->num_rows() > 0){
return $query->result();
}else{
return array();
}
}