Получить все идентификаторы элементов из коллекции
-
12-12-2019 - |
Вопрос
Я узнал, как получить первый предмет из коллекции:
$pageId = Mage::getModel('cms/page')->getCollection()
->addFieldToFilter('identifier', 'your name in the pages')
->getFirstItem()
->getId();
Но теперь у меня есть 3 идентификатора с одинаковым именем, но разными видами хранилища.Как я могу получить эти идентификаторы элементов?Когда я пишу это утверждение выше без "getFirstItem()" и/или без "getId()", Magento выдает мне сообщение об ошибке.
Решение
Типо, как вы хотите, используя getFirstItem
(), это only given 1 item,
вам нужно remove this function
и добавить getAllIds
() функция для этой коллекции.
Полный код:
$pageIds = Mage::getModel('cms/page')->getCollection()
->addFieldToFilter('identifier', 'your name in the pages')
//->getFirstItem()
->getAllIds();)
getAllIds() возвращает все идентификаторы в массиве.
Другие советы
Попробуйте getAllIds($limit = null, $offset = null)
Это метод для объекта сбора.Итак, как только вы получите свою коллекцию, вы сделаете что-то подобное:
$collection->getAllIds();
.
Ограничение $ и $ компенсирует аргументы необязательными, предоставляют вам возможности «подкачки».Например.
$collection->getAllIds(100,2500); // gets you 100 ids, starting from the 2500th of the collection (2500 - 2599)
.