我遇到了一个问题,因为我确定我没有正确地使用我的编程。我已经在Magento中创建了一个自定义模型。
在我的模型的数据库表中有几个具有相同属性的实体...
我只需要从所有这些实体中选择一个与我拥有的属性相同的实体。目前我这样做:
$myvariable = Mage::getModel('test/test')->getCollection()
->setOrder('idserialkeys', 'asc')
->addFilter('idproduit', 1)
->addFilter('utilise', 0)
->addFilter('customerid', 0)
->addFilter('numcommande', 0)
从这个加载我有大约一百个结果,但我只需要更新其中的一个,所以就在我做:
->setPageSize(1);
问题是我需要一个foreach
来更新我的实体
foreach($mavaribale as $modifiemoi) {
// Update of my entity because of course there is only one
}
正如你所看到的,即使我有一个setPagesize
,我也不得不做一个循环(for each)......我想避免这个循环来优化我的代码。
2条答案
按热度按时间tmb3ates1#
当你有一个集合,并且只需要一个元素时,可以使用
getFirstItem
方法。请确保您也使用了
setPageSize
调用,以便只传输一个项目的数据。ecbunoof2#
所有集合都是
Varien_Data_Collection
对象,因此可以使用getFirstItem
: