如何解决模型空回归问题

时间:2014-04-27 05:15:56

标签: codeigniter model

我有一个表格来更新一篇文章。在这个表格中,我有两个选择框,一个用于部分,另一个用于子部分。一篇文章应该有一个部分,但子部分不是必需的。在我的更新表格中,如果一个部分有它应该带来的子部分。我的问题是,在我的更新表单中,如果一个部分没有任何子部分,它不会显示我的表单的延续,因为在模型中它返回false。我试图返回null或一个空数组但它可以没解决我的问题。
型号:

function get_subsection($sec_id,$subsec_name){
$this->db->selec("*");
$this->db->where('sec_id',$sec_id);
$this->db->where('subsec_name !=',$subsec_name);
$query=$this->db->get('sub_section');
if($query->num_rows() > 0)
{
 return $query;
}
else
return false;

}     

如果此函数在更新表单中返回false,则不显示表单的继续和编辑提交按钮。我删除了else条件,但无法解决问题。
控制器

function edit($id){
$data['rec']=$this->amodel->edit_art($id);//get the record to update
foreach($data['rec'] as $a)
{
$sections['items']=$this->amodel->section('$a->sec_id');//select all sections without that which selected by user
$subsetion['sub']=$this->amodel->subsection($a->sec_id,$a->subsec_name);//select all subsections of a section which selected by user
}
$this->load->view('edit_art',array_merge($data,$sections,$subsection));
}

问题在于$subsetion,它在数据库中没有记录。 请指导我如何显示所有表格元素,即使该分段是空的。

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

function edit($id){
$data['rec']=$this->amodel->edit_art($id);//get the record to update

foreach($data['rec'] as $a){
    if($this->amodel->count_sections($a->sec_id) > 0)
        $sections['items']=$this->amodel->section('$a->sec_id');//select all sections without that which selected by user
    else
        $sections['items'] = NULL;

    if($this->amodel->count_subsections($a->sec_id,$a->subsec_name) > 0)
        $subsetion['sub']=$this->amodel->subsection($a->sec_id,$a->subsec_name);//select all subsections of a section which selected by user
    else
        $subsetion['sub']= NULL;
}

$this->load->view('edit_art',array_merge($data,$sections,$subsection));
}

计算可用部分和子部分的数量,并尝试阅读这些记录是否可用! 在模型中编写所需的函数(count_sections和count_subsections)!

答案 1 :(得分:0)

如果我理解你的问题那么你可以试试这个

<强>型号:

function get_subsection($sec_id,$subsec_name){
$this->db->selec("*");
$this->db->where('sec_id',$sec_id);
$this->db->where('subsec_name !=',$subsec_name);
$query=$this->db->get('sub_section');

return $query->result();

<强>控制器:

function edit($id){
$data['rec']=$this->amodel->edit_art($id);//get the record to update
foreach($data['rec'] as $a)
{
$data['items']=$this->amodel->section('$a->sec_id');//select all sections without that which selected by user
$data['sub']=$this->amodel->subsection($a->sec_id,$a->subsec_name);//select all     subsections of a section which selected by user
}
$this->load->view('edit_art',$data);
}

查看:

 <?php echo form_dropdown('items',$items,"",'class=""'); ?>
  <?php echo form_dropdown('sub',$sub,"",'class=""'); ?>
  

让我知道是否可以。如果还不行,请发布您的观看代码。