此代码在images_model下的“图像”视图中效果很好:
<?php if($images_model):?>
<?php foreach($images_model as $images):?>
<div class="col-sm-4">
<div class="well">
<img src="<?php echo base_url()."uploads/".$images->name;?>" alt="" class="img-thumbnail">
images_model中的代码如下:
function save_image($data){
$this->db->insert('images', $data);
}
当我尝试在“墙”视图(main_controller)中使用相同的代码时,出现严重性提示错误,提示“ images_model”未定义;即使我在main_controller中加载了images_model或自动加载了这两个模型:
$autoload['model'] = array('main_model', 'images_model');
我最初是在“图像”视图中质疑“ foreach”代码的,但是我想如果它在一个视图中工作,那么在加载相关模型时是否也可以在另一个视图中工作?它似乎似乎没有在读取images_model。
我只是对Codeigniter有所了解,希望能收到任何反馈。
答案 0 :(得分:0)
您要将$ images_model变量从main_controller传递到视图吗?
// Set your variable
$data['images_model'] = $images_model;
// Pass variable to view
$this->load->view('main', $data);
通常,您不应该直接在视图中访问模型(遵循MVC原则)。您的控制器应从模型中获取所需的内容,然后将其传递给视图。