如何解决视图中模型返回空的问题

问题描述 投票:0回答:2

我有一个更新文章的表单。在这个表单中,我有两个选择框,一个用于部分,另一个用于子部分。一篇文章应该有一个部分,但子部分不是必需的。在我的更新表单中,如果一个部分有子部分应该带它。我的问题是,在我的更新表单中,如果一个部分没有任何小节,它不会显示我的表单的延续,因为在模型中它返回 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
,它在数据库中没有记录。 请指导我该怎么做才能显示所有表单元素,即使该小节为空。

php codeigniter model
2个回答
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=""'); ?>

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


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)!

© www.soinside.com 2019 - 2024. All rights reserved.