CI新手的问题,在view内调用model
本帖最后由 abayomi.zou 于 2011-3-9 14:00 编辑我想在view内调用model,写了下面的代码
$this->load->model("m_util","util");
$funcs = unserialize($this->session->userdata("func"));
foreach($funcs as $func){
printf("%s\n","<tr>");
printf("%s\n","<td>");
printf("%s\n",$func->name);
printf("%s\n","</td>");
printf("%s\n","<td>");
printf("%s\n",$func->url);
printf("%s\n","</td>");
printf("%s\n","<td>");
printf("%s\n",$this->util->showParentDir($funcs,$func->parent_id));-- 第40行
printf("%s\n","</td>");
printf("%s\n","</tr>");
}
出现错误
A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI_Loader::$util
Filename: views/v_func.php
Line Number: 40
Fatal error: Call to a member function showParentDir() on a non-object in D:\MyPhp\tzjy\application\views\v_func.php on line 40
这样子不行的吗?应该怎么做才行呢。。
我用的CI2.0。
m_util.php代码如下:
<?php
class M_util extends CI_Model {
function showParentDir($funcs,$sel){
printf("%s\n","<select name='parent_id'>");
printf("%s\n","<option value='0'>顶级目录</option>");
foreach($funcs as $func){
if(isset($sel) && $sel==$func->func_id)
printf("%s\n","<option value='".$func->func_id."' selected>".$func->name."</option>");
else
printf("%s\n","<option value='".$func->func_id."'>".$func->name."</option>");
}
printf("%s\n","</select'>");
}
}
view里面的$this=CI_Loader=controller里面的->load,
loader只有在php4环境中才能使用->这种语法,因为php4里面loader=controller
php5环境loader和controller不是一个object 回复 2# visvoy
具体到底应该怎么调用?我也遇到了这样的问题, 不知道怎么解决 $CI=&get_instance();
$CI->model_name->model_method();
页:
[1]