Получить все идентификаторы элементов из коллекции

magento.stackexchange https://magento.stackexchange.com//questions/55006

  •  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)
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top