0

此代码在 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,如果有任何反馈,我将不胜感激。

4

1 回答 1

0

您是否将 $images_model 变量从您的 main_controller 传递到您的视图?

// Set your variable
$data['images_model'] = $images_model;

// Pass variable to view
$this->load->view('main', $data);

您通常不应该直接在视图中访问模型(遵循 MVC 主体)。你的控制器应该从模型中得到它想要的东西,然后将它传递给视图。

于 2019-01-11T16:51:59.260 回答