我有2张桌子:
这是每个产品在表中都有group_id作为外键。
我尝试通过group_id调用每个产品。
这是我的list_group视图:
<a href="<?= base_url('list_group/get_product_by_group/'. $value->group_id);?>" class="right-icon"><i class="icon-line-ellipsis"></i></a>
我尝试在网址中附加group_id。
这是我的控制者:
public function get_product_by_group($group_id)
{
if($this->uri->segment(3))
{
$this->load->database();
$group_id = $this->input->get('group_id', TRUE);
$data['product_data'] = $this->group_model->list_product_by_group($group_id);
$this->load->view('fend/list_product', $data);
}
else
{
redirect('list_group');
}
}
这是我的模特:
function list_product_by_group($group_id)
{
$this->db->select('*');
$this->db->where('group_id', $group_id);
$query = $this->db->get('product');
return $query->result();
}
,最后一个是list_product视图:
<?php
foreach($product_data as $value)
{
?>
<div class="masonry-thumbs col-3" data-big="2" data-lightbox="gallery">
<a href="<?= base_url('uploads/'. $value->product_picture);?>" data-lightbox="gallery-item"><img class="image_fade" src="<?= base_url('uploads/'. $value->product_picture);?>" alt="Gallery Thumb 1"></a>
</div>
<?php
}
?>
我没有收到错误,但数据没有出现在product_view中。
感谢您的帮助:))
答案 0 :(得分:0)
如果您删除行$group_id = $this->input->get('group_id', TRUE);
,它将解决您的问题。
以下是解释:
您的控制器功能名称为public function get_product_by_group($group_id)
,因此当您转到此链接时localhost/norwin/list_group/get_product_by_group/1
1将作为$ group_id传递到您的get_product_by_group
功能中。所以您的最终功能将如下所示< / p>
public function get_product_by_group($group_id='')
//write this way so that you can call the url like
//localhost/norwin/list_group/get_product_by_group
{
if($group_id)//no need to check uri->segment
{
$this->load->database();
$data['product_data'] = $this->group_model->list_product_by_group($group_id);
$this->load->view('fend/list_product', $data);
}
else
{
redirect('list_group');
}
}