Php 无法访问CodeIgniter视图上的控制器变量
我发誓,我总是被CodeIgniter如何将控制器变量传递给他们的视图所迷惑,我在其中做的每个项目都会遇到同样愚蠢的问题 这是我的模型:Php 无法访问CodeIgniter视图上的控制器变量,php,codeigniter,Php,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_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$head时,我得到:
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之外的任何想法?$query->row将返回对象,所以请尝试在视图中访问
echo $head->id;
echo $head->title;
等等在两个最差的PHP框架之间切换如何确保您在模板中定义了一个变量。@tereško您是对的。我应该说切换到Python。@user3423909为什么不呢,最近我从Codeigniter换成了Python,发现一切都更愉快了?谢谢。我试着做$head['title'],这给了我更多的错误。
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']; ?>