【问题标题】:Get a single entity from a magento model collection从 magento 模型集合中获取单个实体
【发布时间】:2011-07-19 17:54:53
【问题描述】:

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

【问题讨论】:

    标签: magento collections


    【解决方案1】:

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

    $modifiemoi = $myvariable->getFirstItem();
    

    确保您也使用您的 setPageSize 呼叫,以便您只传输一项数据。

    【讨论】:

    • setPageSize 到底是做什么的?
    【解决方案2】:

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

    $modifiemoi = $mavaribale->getFirstItem();
    

    【讨论】:

      猜你喜欢
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      • 2013-05-08
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多