2010-05-12 28 views
0

在控制器,我得到這個:如何使用read()

$this->Site1->post_id=$id; 
$this->set('posts', $this->Site1->read()); 

當我取代了它的這行代碼: $這個 - >設置(「職位」,$這個 - > Site1-> read('post_id',$ id));

但返回的結果是完全不同的。

他們之間有什麼區別嗎?

是否有可能通過整齊重新編寫成一行代碼,使這個代碼兩行呢?

$this->Site1->post_id=$id; 
$this->set('posts', $this->Site1->read()); 

回答

2

結果是完全不同的,因爲你告訴read()方法只獲取post_id列。當您將字符串作爲第一個參數傳遞給read()時,會發生這種情況。您也可以傳遞一列數組作爲第一個參數,或者null來獲取所有列。第二個參數是要檢索的記錄的ID。示例請參見documentation

是否有可能通過將其重新寫入一行代碼來使這兩行代碼整齊?

如果你想以適應這一切在同一行,試試:$this->set('posts', $this->Site1->read(null, $id);

+0

感謝您的幫助,邁克。 – user327712 2010-07-13 15:29:55

1

作爲另一種選擇,你也可以簡單地再次使用findBy

$this->set('posts', $this->Site1->findByPostId($id)); 
相關問題