【发布时间】:2016-06-10 12:58:15
【问题描述】:
为我的 nebie 之类的问题道歉,但我想在这里学到很多,MVC 和 CodeIgniter 的新手。
我正在构建一个简单的 CRUD,但如果你知道自己在做什么,我会觉得这是一件非常简单的事情。
我有一个用于将轮胎更新到数据库的视图到表“轮胎”中。在该视图中,我想显示保存在单独的数据库表“品牌”中的品牌下拉列表。在我的模型中,我有一类轮胎,其中我有一个功能:
public function get_tyres($id = FALSE)
{
if ($id === FALSE)
{
$query = $this->db->get('tyres');
return $query->result_array();
}
$query = $this->db->get_where('tyres', array('id' => $id));
return $query->row_array();
}
这允许我访问我的控制器中的轮胎数据并将数据发送到视图使用:
$data['tyres_item'] = $this->tyres_model->get_tyres($id);
$this->load->view('tyres/update', $data);
在我的视图中,我访问 $data['tyres_item'] 以便我可以使用 db 数据预填充表单。
但是
如何从数据库中访问品牌数据以构建我视图中所有品牌的下拉列表? 我有单独的品牌模型和控制器,但我无法在视图中访问它们。
我尝试添加
$data['brands'] = $this->brands_model->get_brands();
到我的轮胎控制器中的更新功能,但我知道这不起作用;因为我在轮胎控制器而不是品牌控制器中。
我怎样才能做到这一点,我知道我一定错过了一些简单的东西......
这是我的观点:以及我想要完成的:
echo form_open('tyres/update');
?>
<label for="tyre">Tyre</label>
<input type="input" name="tyre" value="<?=$tyres_item['tyre']?>" />
<label for="brand">Brand</label>
<?php
echo form_dropdown('brands', $data['brands']);
?>
...
编辑-我已将品牌模型添加到构造中,这很有帮助,我现在可以使用以下方法访问我的视图中的品牌数据:
echo form_dropdown('brands', $brands);
但它返回一个数组,所以我添加了以下内容:
echo form_dropdown('brands', $brands['brand']);
然后这会出错:
Message: Undefined index: brand
我又卡住了! 帮助。
【问题讨论】:
-
使用
echo form_dropdown('brands', $brands['COLUMN_NAME']); -
谢谢你,我试过了,我得到:未定义的变量:品牌
标签: php codeigniter model-view-controller