Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法访问CodeIgniter视图上的控制器变量_Php_Codeigniter - Fatal编程技术网

Php 无法访问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(); } 这是我的控制器:

我发誓,我总是被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$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']; ?>