无法访问 codeigniter 模型中的变量
我试图从 codeigniter 控制器访问模型中的数组集,但事情很奇怪。
目前我在模型中拥有的只是这样:
class Pages_model extends CI_Model {
function __construct()
{
parent::__construct();
}
var $pages = array(
'draw', 'stackoverflow', 'words'
);
}
我可以看到正在设置数组,因为当我执行时
$this->load->model('Pages_model');
die(var_dump(get_object_vars($this->Pages_model)));
我得到输出
array
'pages' =>
array
0 => string 'draw' (length=4)
1 => string 'stackoverflow' (length=13)
2 => string 'words' (length=5)
但是当我尝试访问变量本身时:
$this->load->model('Pages_model');
die(var_dump($this->Pages_model->$pages));
我收到错误:
消息:未定义的变量:页面
这对我来说没有任何意义。到底是怎么回事????
I am trying to access an array set in a model from a codeigniter controller, and things are acting odd.
Currently all I have in the model is this:
class Pages_model extends CI_Model {
function __construct()
{
parent::__construct();
}
var $pages = array(
'draw', 'stackoverflow', 'words'
);
}
I can see the array is being set because when I execute
$this->load->model('Pages_model');
die(var_dump(get_object_vars($this->Pages_model)));
I get the output
array
'pages' =>
array
0 => string 'draw' (length=4)
1 => string 'stackoverflow' (length=13)
2 => string 'words' (length=5)
But when I try to access the variable itself:
$this->load->model('Pages_model');
die(var_dump($this->Pages_model->$pages));
I get an error:
Message: Undefined variable: pages
This does not make any sense to me. What is going on????
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试 $this->Pages_model->pages,不要在页面之前添加 $。
当您执行此操作时:
PHP 尝试评估 $pages 的变量,该变量为 null (Pages_model->null)。
Try $this->Pages_model->pages, without the $ before pages.
When you do this:
PHP tries to evaluate the variable of $pages, which is null (Pages_model->null).
我不确定您是否可以直接访问模型中的变量,我相信您只能调用函数,也许为变量创建一个 getter 函数并返回变量。例如。
模型页面
控制器
I'm not sure you can directly access variables in a model I believe you can only call functions, perhaps make a getter function for the variable and return the variable. eg.
Model Page
Controller
您可以直接访问该变量,如果您像这样定义它:
那么您可以通过以下方式调用它:
$this->pages_model->pages
You can access the variable directly, if you define it like this :
Then you would call it by:
$this->pages_model->pages
制作静态成员:
Make static member: