2010-07-04 83 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;