Получить одну сущность из коллекции моделей magento - PullRequest
5 голосов
/ 21 марта 2011

Я столкнулся с проблемой, потому что уверен, что не правильно делаю это с моим программированием.
Я создал собственную модель в Magento.
В таблице базы данных моей модели есть несколькосущности с одинаковыми атрибутами ...
Мне нужно выбрать только одну из всех этих сущностей с таким же атрибутом, что и у меня.
На данный момент я сделал это:

$myvariable = Mage::getModel('test/test')->getCollection()
->setOrder('idserialkeys', 'asc')
->addFilter('idproduit', 1)
->addFilter('utilise', 0)
->addFilter('customerid', 0)
->addFilter('numcommande', 0)

Из этогоloading У меня около сотни результатов, но мне нужно обновить только один из них, поэтому сразу после того, как я делаю:

->setPageSize(1);

Проблема в том, что мне нужно foreach после того, как обновить мою сущность

foreach($mavaribale as $modifiemoi) {
    // Update of my entity because of course there is only one 
}

Как видите, я обязан сделать цикл (для каждого), даже если у меня есть setPagesize ... Я бы хотел избежать этого глупого цикла для оптимизации моего кода.

Спасибо за ваши предложения и хорошего дня,

Anselme

Ответы [ 2 ]

19 голосов
/ 21 марта 2011

Если у вас есть коллекция, и вам нужен только один элемент, используйте метод getFirstItem.Попробуйте:

$modifiemoi = $myvariable->getFirstItem();

Убедитесь, что вы также используете свой вызов setPageSize, чтобы передавать данные только по одному элементу.

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

СпасибоДжо

11 голосов
/ 21 марта 2011

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

$modifiemoi = $mavaribale->getFirstItem();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...