首页 文章

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

提问于
浏览
0

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

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

我需要传递我检索的userdata:

$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,
);

但是,它没有用 .

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

谢谢,Moonblaze

3 回答

  • 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
    
  • 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

  • 0

    //控制器

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

    //视图

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

相关问题