从magento模型集合中获取单个实体

Ans*_*lme 5 collections magento-1.x

我遇到了一个问题,因为我确信我的编程并没有正确地做到这一点.
我在Magento中创建了一个自定义模型.
在我的模型的数据库表中有几个具有相同属性的实体......
我需要从所有这些实体中选择一个具有相同属性的实体.
目前我这样做了:

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

从这个加载我有大约一百个结果,但我只需要更新其中一个,所以就在我做之后:

->setPageSize(1);
Run Code Online (Sandbox Code Playgroud)

问题是我需要一个foreach后续更新我的实体

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

你可以看到我不得不做一个循环(对于每个),即使我有setPagesize...我想避免这个愚蠢的循环来优化我的代码.

感谢您的建议,祝您有个愉快的一天,

安塞尔姆

Jos*_*tey 19

如果您有一个集合,并且只需要一个元素,请使用该getFirstItem方法.试试这个:

$modifiemoi = $myvariable->getFirstItem();
Run Code Online (Sandbox Code Playgroud)

确保您还使用setPageSize通话,以便只传输一个项目的数据.

希望有所帮助!

谢谢,乔


clo*_*eek 11

所有集合都是Varien_Data_Collection对象,因此您可以使用getFirstItem:

$modifiemoi = $mavaribale->getFirstItem();
Run Code Online (Sandbox Code Playgroud)