Получите единственную сущность из коллекции Magento Model
-
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();