2011-03-21 78 views
5

我遇到了一個問題,因爲我確信我沒有正確地使用我的編程來完成此任務。
我在Magento中創建了一個自定義模型。
在我的模型的數據庫表中有幾個具有相同屬性的實體...
我需要從所有這些實體中選擇一個具有相同屬性的實體。
對於我這樣的時刻:從一個magento模型集合中獲取單個實體

$myvariable = Mage::getModel('test/test')->getCollection() 
->setOrder('idserialkeys', 'asc') 
->addFilter('idproduit', 1) 
->addFilter('utilise', 0) 
->addFilter('customerid', 0) 
->addFilter('numcommande', 0) 

從這個加載我有大約100名的結果,但我只需要更新的其中之一,我這樣做只是後:

->setPageSize(1); 

問題是,我需要一個foreach即使後更新我的實體

foreach($mavaribale as $modifiemoi) { 
    // Update of my entity because of course there is only one 
} 

正如你看到的,我有義務做一個循環(每個)我有一個setPagesize ...我想避免這個愚蠢的循環來優化我的代碼。

感謝您的建議,並有一個愉快的一天,

安塞爾姆

回答

19

當你有一個集合,只有你需要一個元素,使用getFirstItem方法。試試這個:

$modifiemoi = $myvariable->getFirstItem(); 

確保您還可以使用您的通話setPageSize,讓你只對一個項目進行數據傳輸。

希望有幫助!

謝謝, 喬

+0

照常約瑟夫它可以幫助非常感謝很多:) – Anselme 2011-03-21 17:33:13

+0

這是在我的情況確實也有幫助: )謝謝 – 2012-07-06 09:38:20

+0

setPageSize究竟做了什麼? – Pitt 2016-08-31 14:52:44

相關問題