2010-07-04 117 views
1

在我的示例数据库表中的记录,我有帖子ID记录999 我的几行代码来检索后ID的记录999:999无法检索

function viewing($sid){  
$this->Testing->post_id=$sid; 
$this->set('posts', $this->Testing->read()); 
} 

但没有记录可以记录从ID为999的帖子中检索到,当我改变代码时:

function viewing($sid){ 
$sid=999; 
$this->Testing->post_id=$sid; 
$this->set('posts', $this->Testing->read()); 
} 

你能告诉我帮忙吗?

+0

哪个是真的,'Site1'或'Testing'?这不会做任何事情。 – deceze 2010-07-04 23:00:18

+0

您的示例代码非常混乱。控制器控制哪种型号?你想做什么? – Leo 2010-07-05 09:47:28

回答

2

我认为你搞乱了术语和功能。首先你设置Site1模型的ID。然后,您尝试从测试模型中读取记录并在记录中设置post_id。正确的代码应该是这样的:

function viewing($sid){ 
    $sid=999; 
    $this->Post->id=$sid; 
    $this->set('post', $this->Post->read()); 
} 

或者更短这将是:

function viewing($sid){ 
    $sid=999; 
    $this->set('post', $this->Post->read(null, $sid)); 
} 

但是假设你想要得到的职位可能是实际的代码应该如下:

function viewing($sid){ 
    $sid=999; 
    $this->set('post', $this->Posts->fund('all', array('conditions'=>array('post_id'=>$sid)))); 
} 

或类似的东西。我觉得首先你应该采取的CakePHP Cookbook和上一看CakePHP API

+0

你的答案正是我想要的。 谢谢你,尼克。 – user327712 2010-07-05 13:18:05

3

你想要设置model :: id属性,而不是post_id。

$ this-> Site1-> id = $ sid;