466141943a 发表于 2010-3-21 13:12:54

模型加载时的问题

这是视图代码
<a href=".../hotelinfo/hotelinfo_a/<?=$row->HotelsId?>" target="_blank"><?=$row->HotelsName?></a>

这是控制器代码
function hotelinfo_a($id){
$this->load->model('hotelinfo_m','$id');
$data['query'] = $this->$id->get_Hotelinfo(); //11行
$this->load->view('hotelinfo_v',$data);
}

这是模型代码
function get_Hotelinfo($id){
$query = $this->db->query("select * from guanchengqu where HotelsId=$id");
return $query->result();
}

然后问题是
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Hotelinfo::$1
Filename: controllers/hotelinfo.php
Line Number: 11


主要是想通过控制器把视图里获得的值传到模型里去

visvoy 发表于 2010-3-21 16:21:16

$this->load->model('hotelinfo_m','$id');
改为:
$this->load->model('hotelinfo_m',$id);

粗心

466141943a 发表于 2010-3-21 16:42:41

可是手册上是这样写的啊
如果你想为模型指定另外一个对象名,你可以在加载时使用第二个参数:
$this->load->model('Model_name', 'fubar');
$this->fubar->function();

而且我也按你的改过,值都没传到model里面

visvoy 发表于 2010-3-21 16:49:29

->load->model class名大小写必须严格一致

466141943a 发表于 2010-3-21 17:01:35

都一样啊,是不是$data['query'] = $this->$id->get_Hotelinfo();这一句里面的$id有问题啊,我用
NetBeans开发,本来正常的应该是绿色的,可是这里$id没有变色,是不是这个符号$有问题啊

visvoy 发表于 2010-3-21 18:09:26

从代码看,你这个$id应该是数字类型,变量名不允许全数字

466141943a 发表于 2010-3-21 19:01:44

那我该怎么改了

visvoy 发表于 2010-3-21 19:51:37

$this->load->model('hotelinfo_m');不就完事了

466141943a 发表于 2010-3-21 21:58:46

那我怎么给model传值啊,不传怎么查啊

huboo82 发表于 2010-3-21 22:21:03

本帖最后由 huboo82 于 2010-3-21 22:22 编辑


这是视图代码
<a href=".../hotelinfo/hotelinfo_a/<?=$query->HotelsId?>" target="_blank"><?=$row->HotelsName?></a>

这是控制器代码
function hotelinfo_a($id){
$this->load->model('hotelinfo_m');
$data['query'] = $this->hotelinfo_m->get_Hotelinfo($id); //11行
$this->load->view('hotelinfo_v',$data);
}

这是模型代码
function get_Hotelinfo($id){
$query = $this->db->query("select * from guanchengqu where HotelsId=$id");
return $query->result();
}
红色为修改部分。没有学会走就想跑。
页: [1] 2
查看完整版本: 模型加载时的问题