2010-08-24 108 views
1

当我们加载视图时,我们可以将一些动态数据传递给它。codeigniter中的视图的默认数据

我想实现的是当视图没有收到数据时,它使用从模型(数据库)加载的一些默认数据。

问题是我真的不想把这些语句(加载默认数据)在视图中。

什么是最简单的解决方案,没有使用任何扩展如模块化扩展/分离?

非常感谢大家。

回答

2

我出来的东西,希望这有助于。

class Test extends Controller 
{ 
    private $data = array(); 

    public function __construct() 
    { 
     parent::__constuct(); 

     // Load the default data 
     $this->load->model('test_model'); 

     $this->data = $this->test_model->get_default_data(); 
    } 

    public function test() 
    { 
     $this->load->model('test_model'); 
     $data = $this->test_model->get_another_data(); 

     if (! empty($data)) { 
      $this->data = $data; 
     } 

     $this->load->view('test_view', $this->data); 
    } 
} 
3

你是正确的,你真的不想从视图调用模型(这是控制器的用途)。

检查控制器中的数据;如果您查找的数据不存在,请拨打模型的“默认数据”(当您在控制器中)时。然后将数据传递给View。