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

Collections 从magento模型集合中获取单个实体,collections,magento-1.x,Collections,Magento 1.x,我遇到了一个问题,因为我确信我的编程没有正确执行此操作。 我已在Magento中创建了自定义模型。 在我的模型的数据库表中,有几个具有相同属性的实体… 我只需要从所有这些具有相同属性的实体中选择一个。 我当时这样做了: $myvariable = Mage::getModel('test/test')->getCollection() ->setOrder('idserialkeys', 'asc') ->addFilter('idproduit', 1) ->addFi

我遇到了一个问题,因为我确信我的编程没有正确执行此操作。
我已在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
after来更新我的实体

foreach($mavaribale as $modifiemoi) {
    // Update of my entity because of course there is only one 
}
正如您所见,即使我有一个
setPagesize
,我也必须(为每个人)执行一个循环。。。我想避免这个愚蠢的循环来优化我的代码

谢谢你的建议,祝你度过愉快的一天

Anselme

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


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

$modifiemoi = $myvariable->getFirstItem();
确保同时使用
setPageSize
调用,以便只传输一个项目的数据

希望有帮助

谢谢,
Joe

我喜欢你使用链接:)+1这对我也很有帮助:)谢谢setPageSize到底做什么?
$modifiemoi = $myvariable->getFirstItem();