2011-03-21 80 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

相关问题