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

标签 magento collections

我遇到了一个问题,因为我确信我的编程没有正确执行此操作。我在 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,我也必须(为每个)执行一个循环...我想避免此循环来优化我的代码。

最佳答案

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

$modifiemoi = $myvariable->getFirstItem();

确保您还使用 setPageSize 调用,以便仅传输一项的数据。

关于magento - 从 magento 模型集合中获取单个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5379154/

相关文章:

php - Magento 继承链。好的还是坏的做法?

magento - 如何将 magento 的原生验证码用于产品评论页面和联系我们表格

php - 无法在 Magento 中添加 css

swift - 如何检查一个对象是否是一个集合? ( swift )

php - Magento:摆脱菜单中的元素符号

Magento 将产品添加到静态 block

c# - List 方法获取另一个列表与重复项的差异(listobject.Expect 方法不起作用)

java - 使用 Comparator 而不是 equals() 来比较两个 Java 集合

java - 如何将 Java 对象(bean)转换为键值对(反之亦然)?

c# - 从一个集合中删除另一个集合中的项目