2010-06-18 35 views
0

hii ..我想编辑单排。我用 $ this-> data = $ this-> BuildingProperty-> read(null,$ id);我正在面对cakephp中的读函数问题

但它没有获取这个ID的值。

那么我该怎么办。给我任何建议。

+0

是否存在具有此ID的记录?它是否生成正确的SQL查询? – deceze 2010-06-18 09:35:26

+0

谢谢是的,ID存在 – Msofts 2010-06-18 09:45:29

回答

0

为什么你通过null作为第一个参数?它应该是您想要检索的字段数组上的字符串。

不管怎样,试试这个来代替:

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

这样使用'read()'是完全合适的。传递'null'只是意味着“所有领域”。 http://book.cakephp.org/view/1029/read – deceze 2010-06-18 09:34:47

+0

谢谢,但这一个也不起作用。 – Msofts 2010-06-18 09:44:39

0

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

所有这些检查都会返回适当的值,然后问题不在Model-> read()函数中。

另一个提示,尝试清除缓存/应用/ tmp目录/缓存/模块/应用程序的/ tmp /缓存/持续

0

你打电话从知道BuildingProperty控制器的方法?即BuildingPropertiesController。如果没有,你有没有包含在类定义

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)); 

你至少应该得到一些输出告诉你调试电话线。