我正在尝试在我的模型中进行查询并在我的控制器中调用它,但由于某种原因我得到了一些错误。这是我的模特:
class Room extends AppModel {
var $name = 'Room';
var $displayField = 'title';
var $actsAs = array('Containable');
function select($qwe){
$results = $this->Room->query("SELECT * FROM test WHERE qwe= ".$qwe." ");
}
在这种情况下,我得到Undefined property: Room::$room
。在控制器中我有:
...
function success(){
$qwe = "testing"
$this->set('get', $this->Room->select($qwe));
}
}
关于我做错了什么的任何想法?
答案 0 :(得分:2)
您正在模型中呼叫
$results = $this->Room->query("SELECT * FROM test WHERE qwe= ".$qwe." ");
应该是
$results = $this->query("SELECT * FROM test WHERE qwe= ".$qwe." ");
因为query()
是Class Model的一个方法,它是每个其他Model的父类,Model Room没有属性Room,这就是造成错误的原因。如果您通过控制器调用此函数,则使用$this->ModelName->method()
您的函数select
未返回任何内容,您应将其更改为
function select($qwe){
$results = $this->query("SELECT * FROM test WHERE qwe= ".$qwe." ");
return $results;
}