Получите единственную сущность из коллекции Magento Model

StackOverflow https://stackoverflow.com/questions/5379154

  •  28-10-2019
  •  | 
  •  

Вопрос

Я сталкиваюсь с проблемой, потому что я уверен, что не делаю это правильно с моим программированием.
Я создал пользовательскую модель в 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 Позвоните, чтобы вы передали данные только для одного элемента.

Надеюсь, это поможет!

Спасибо, Джо

Другие советы

Все коллекции есть Varien_Data_Collection объекты, чтобы вы могли использовать getFirstItem:

$modifiemoi = $mavaribale->getFirstItem();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top