2014-07-17 94 views
-1

我发誓我一直对CodeIgniter如何将控制器变量传递给它们的视图感到困惑,并且我在其中执行的每个项目都会一直陷入同样愚蠢的问题。无法访问CodeIgniter视图上的控制器变量

这里是我的模型:

public function get_post() { 
    $sql = "SELECT * FROM posts WHERE active='y' AND head=1 LIMIT 1"; 

    $query = $this->db->query($sql); 
    return $query->row(); 
} 

这里是我的控制器:

public function get_head() { 
    $this->load->model('home_model'); 
    $data['head'] = $this->home_model->get_post(); 
    $this->load->view('home_view', $data); 
} 

当我在我的观点做的var_dump($头)我得到:

object(stdClass)#18 (16) { ["id"]=> string(1) "1" ["member_id"]=> string(1) "1" ["title"]=> string(131) "This is a test title" ["slug"]=> string(0) "this-is-a-test-title" ["body"]=> string(0) "" ["tag"]=> string(7) "singles" ["orig_photo_name"]=> string(142) "sample.jpg" ["photo"]=> string(24) "14004803271605326007.jpg" ["comments"]=> string(1) "y" ["post_date"]=> string(19) "2014-06-17 02:18:47" ["head"]=> string(1) "1" ["views"]=> string(2) "50" ["notes"]=> string(0) "" ["nsfw"]=> string(1) "y" ["active"]=> string(1) "y" } 

最后当试图访问像标题​​:

<?php echo $title; ?> 

A PHP Error was encountered 

Severity: Notice 

Message: Undefined variable: title 

Filename: views/home_view.php 

Line Number: 8 

除了切换到CakePHP以外的任何想法?

+2

两个最坏的PHP框架之间怎样切换,确保您在定义的变量模板。 –

+0

@tereško你是对的。我应该说转向Python。 – user3423909

+3

echo $ head-> title – Rooneyl

回答

2

$query->row()将返回对象,以便尝试在视图访问

echo $head->id; 
echo $head->title; 

+0

谢谢。我试图做$ head ['title'],这给了我更多的错误。 – user3423909

0
First You change the model query like this 
public function get_post() { 
    $sql = "SELECT * FROM posts WHERE active='y' AND head=1 LIMIT 1"; 
    $query = $this->db->query($sql); 
    return $query->row_array(); //this is return value in array 
} 

Then call function in Controller 

public function get_head() { 
    $this->load->model('home_model'); 
    $data['head'] = $this->home_model->get_post(); 
    $this->load->view('home_view', $data); 
} 

Then get value in view 
<?php echo $head['id']; ?> 
相关问题