将数组和对象从Controller传递到CodeIgniter中的View

时间:2016-12-09 05:32:54

标签: php codeigniter

我一直试图让CodeIgniter视图同时传递一个对象和一个数组,但是当我添加对象时它似乎会中断。

通常在CodeIgniter中,当您在Controller中创建变量:$data['title'] = 'Welcome to CodeIgniter'时,您将在视图中访问该变量:$title

我需要传递我检索到的用户数据:

$data['title'] = 'welcome to codeigniter';
$this-db->where('id', $id);
$user = $this->db->get('users')->row();

$this->load->view('welcome', [
    'data' => $data,
    'user' => $user
]);

但是,当我进入我的观点时,$active未定义,我必须通过$data['title']

访问它

我也尝试将所有内容添加到一个数组中:

$data = array(
     'title' => 'welcome to codeigniter',
    'active' => 'home', 
     'user' => $user,
);

然而,它没有用。

如果这没有任何意义我道歉,我想尽可能地解释我的问题,如果您需要更多信息,请告诉我。

谢谢, 月焰

3 个答案:

答案 0 :(得分:2)

你可以这样做:

$data['title'] = 'welcome to codeigniter';
$this-db->where('id', $id);
$data['user'] = $this->db->get('users')->row();
$this->load->view('welcome', $data );

在视图中,您可以访问:

echo $title; //will print the 'welcome to codeigniter'
print_r($user); // will hold the resource of query

答案 1 :(得分:0)

$data['title'] = 'welcome to codeigniter';
$this-db->where('id', $id);
$user = $this->db->get('users')->row();
$data[user]=$user;
$this->load->view('welcome', $data );

您可以在视图中使用$ title和$ user

答案 2 :(得分:0)

//控制器

$data['title'] = 'welcome to codeigniter';
$data['user'] = $this->db->get('users')->row();

$this->load->view('welcome', $data);

//视图

<?=$title?>
<?=print_r($user)?>