我面临cakephp中读取函数的问题

我面临cakephp中读取函数的问题,php,cakephp,cakephp-1.3,Php,Cakephp,Cakephp 1.3,hii..我想编辑单行。我使用 $this->data=$this->BuildingProperty->read(null,$id) 但是它没有获取这个id的值 那我该怎么办呢。给我一些建议。为什么要将null作为第一个参数传递?它应该是要检索的字段数组上的字符串 无论如何,请尝试以下方法: $this->BuildingProperty->id = $id; $this->data = $this->BuildingProperty->read(); 您使用的

hii..我想编辑单行。我使用 $this->data=$this->BuildingProperty->read(null,$id)

但是它没有获取这个id的值


那我该怎么办呢。给我一些建议。

为什么要将
null
作为第一个参数传递?它应该是要检索的字段数组上的字符串

无论如何,请尝试以下方法:

$this->BuildingProperty->id = $id;
$this->data = $this->BuildingProperty->read();

您使用的语法是正确的。首先检查$id是否为整数。(echo$id)。然后,如果是这样,请在building_properties表中检查您的数据库是否有这样的记录检查此ID是否存在。最后检查变量$this->data是否填充了正确的值

所有这些检查返回正确的值,那么问题不在Model->read()函数中


另一个提示是,尝试清除cache/app/tmp/cache/modules和/app/tmp/cache/persistent

是否从了解BuildingProperty的控制器调用该方法?i、 e.
构建属性控制器
。如果没有,您是否包括

var $uses = array('BuildingProperty');
语句或显式加载模型,例如

loadModel('BuildingProperty')
您的语法是正确的,如果没有警告或错误消息,唯一的其他解释是返回的数组为空,即记录不存在

检查是否已打开调试:

Configure::write('debug', 1); // or higher.A 2 will output SQL queries as well
然后试试看

debug($this->BuildingProperty->read(null,$id));

您至少应该得到一些输出,告诉您调试调用的行。

这样使用
read()
是完全合适的。传递
null
仅表示“所有字段”。是否存在具有此id的记录?它是否生成正确的SQL查询?