我的表有4个具有唯一ID的类别。而我所做的只是查询数据库并包含一个foreach循环,它根据正在获取的子类别来获取cateogry id。由于我的表有4个类别。所以运行循环必须返回div 4次,我将在视图中回显。这就是我的概念。但它只返回一次。所以div main_div
只打印一次。我不明白这里有什么问题。
在我的模型中
public function getSubCategory(){
$sub_div = null;
$query_main_cat = $this->db->query("SELECT * FROM main_category");
foreach($query_main_cat->result_array() as $row){
$mc_id = $row['id'];
$query_get_sub = $this->db->get_where("sub_category", array('main_cat_id' => $mc_id));
foreach ($query_get_sub->result_array() as $row_sub_cat) {
$sub_cat_id = $row_sub_cat['id'];
$sub_cat_name = $row_sub_cat['sub_name'];
$sub_cat_mc_id = $row_sub_cat['main_cat_id'];
$sub_div .= '<div class="col-sm-6 col-md-4">
<div class="table-responsive">
<table class="table table-striped text-center">
<th class="text-center">'.$sub_cat_name.'</th>
<tbody>
<tr><td>Hello</td></tr>
<tr><td>Hello</td></tr>
</tbody>
</table>
</div>
</div>';
}
$main_div = '<div class="tab-pane" id="tab'.$mc_id.'">
'.$sub_div.'
</div>';
return $main_div;
}
}
在我的控制器中
public function load_view(){
$this->load->model("get_category");
$data['sub_category'] = $this->get_category->getSubCategory();
$this->load->view('index', $data);
}
在视图中
echo $sub_category;
这应该返回div main_div
4次。因为我的桌子里有4行。但只有一次出现。需要一些帮助。
答案 0 :(得分:0)
你只得到一次问候,因为你过早地退出了循环。
return "hello";
你不应该在循环中使用return,而是累积字符串并在结尾处返回它。
$text = '';
foreach($query_main_cat->result_array() as $row){
$text .= "hello";
}
return $text;