【发布时间】:2015-11-10 13:54:49
【问题描述】:
我需要从视图中调用一个函数来回显一个值。我使用以下代码,
控制器(test_controller)
public function displayCategory()
{
$this->load->model('Model_test');
$data['categories'] = $this->Model_test->getCategories();
$this->load->view('test_view', $data);
}
public function display($id)
{
$this->load->model('Model_test');
$name= $this->Model_test->getName($id);
return $name;
}
模型(Model_test)
function getCategories() {
$query = $this->db->query("SELECT * FROM category");
if ($query->num_rows() > 0) {
return $query->result();
} else {
return NULL;
}
}
function getName($userId) {
$query = $this->db->query("SELECT name FROM user where id = '$userId' ");
if ($query->num_rows() > 0) {
return $query->row()->name;
} else {
return NULL;
}
}
查看
<div id="body">
<?php
foreach ($categories as $object) {
$temp = $this->test_controller->display($object->id);
echo $object->title . " ". $object->no . $temp . '<br/>';
}
?>
</div>
但运行代码时出现一些错误。
错误消息:未定义的属性:CI_Loader::$test_controller in view
【问题讨论】:
-
告诉我们你是如何得到
$categories数组的。 -
@Kyslik 已编辑.. 我在函数 displayCategory() 中添加了代码
-
好的,现在显示
getCategories()的内容,您想在该函数中使用连接或准备数据...所以您不必在视图中进行“数据操作”... -
@Kyslik 添加到模型中
标签: php codeigniter