2011-07-19 107 views
0

我有這樣的關係:查找的hasMany關係的陣列

  • 項目具有多個屬性
  • 房產有多個價格

在項目頁面,我想顯示:

  • 該項目,其性能和最新的價格

到目前爲止,我有這樣的:

$this->set('rates', $this->Rate->find('all', array(
    'conditions' => array('Property.project_id' => $id), 
    'fields' => array('Rate.id', 'Rate.rate', 'Rate.floor_rise', 'Property.id'), 
    'order' => array('Rate.created DESC') 
))); 

這給出了相應的屬性所有速率,但我只想要最新的速率。

我該如何做這個查詢?

+0

如果您希望將結果放在一個整齊的數組中,那麼可以設置「可容納的」,vs這樣做 - >找到屬性,然後查找費率。 –

回答

2
$this->set('rates', $this->Rate->find('first', array(
'conditions' => array('Property.project_id' => $id), 
'fields' => array('Rate.id', 'Rate.rate', 'Rate.floor_rise', 'Property.id'), 
'order' => array('Rate.created DESC') 

)));

3

更改'all''first'在您的查找,並且因爲您已經有一個很好的'order'你應該沒問題。

+0

或者將''limit'=> 1'添加到您現有的代碼中。不過@ianmjones的迴應更多的是「蛋糕路」 – zergussino