Вопросы с тегом «collection»

Вопросы, связанные с коллекциями Magento


3
Эффективный сбор вызовов, фильтрация и загрузка
Сейчас я повторно использую множество коллекций, которые вложены в циклы foreach. Можно ли поднять эти вещи на несколько уровней? В настоящее время я вынужден многократно перезагружать коллекции, в которых есть 51 тыс. Объектов, что сильно замедляет работу. В частности, коллекции инвентаря. <?php class Codespace_Module_Helper_Item extends other_one{ function functionOne($collection){ ... $data …

2
Почему magento использует ресурс и коллекцию моделей mysql4?
Какова цель использования этих двух моделей коллекции. Ресурс mysql4 почему мы не можем использовать модель ресурсов для всех коллекций. Почему мы используем коллекцию MySql4 для простого модуля Кто-то объясняет.

4
Magento - пользовательская (не eav) модель, загрузка по нескольким полям
У меня есть пользовательская модель и модель ресурса. Я хочу загрузить один экземпляр модели, используя более 1 поля. Модель имеет следующие поля: id tag_name custom_name group_name Я хочу загрузить эту модель, основанную на tag_name, custom_name и group_name вместо id. В настоящее время я использую коллекцию и addFilter для каждого поля. …
15 collection  model 

6
Как распечатать запрос MySQL в magento 2?
Существует getSelect()->__toString();доступна в Magento 1 для печати запроса коллекции. как пример ниже $products = Mage::getModel(‘catalog/product’) ->addAttributeToFilter(‘status’, array(‘eq’ => 1)); echo $products->getSelect()->__toString(); Есть ли какой-нибудь метод, доступный в magento 2? Я нашел это, ->printLogQuery(true);но у меня не работает. Обновление: ниже код. Я пытаюсь получить продукты бестселлера. его работа идеально, но я …

5
Отфильтровать коллекцию товаров по неплоским атрибутам
Я делаю следующее: $productCollection = Mage::getModel('catalog/product') ->getCollection(); $productCollection ->addAttributeToFilter('my_attribute', 1); my_attribute отсутствует в плоских таблицах, но плоские таблицы включены. Я продолжаю получать полную коллекцию. Причина, кажется, в \Mage_Catalog_Model_Resource_Product_Collection::addAttributeToSelect: $columns = $this->getEntity()->getAttributeForSelect($attributeCode); Нет $this->getEntity()- это экземпляр, Mage_Catalog_Model_Resource_Product_Flatкоторый выбирает плоские поля - и если ничего не найдено, просто возвращает ноль. Как правильно …

1
Как использовать group by в коллекции magento с запросом на соединение
В сетке администратора модуля я использую этот код, чтобы получить коллекцию и сгруппировать их по идентификатору клиента $collection = Mage::getModel('referafriend/statistics')->getCollection(); $collection->getSelect()->group('entity_id'); $this->setCollection($collection); но здесь я должен использовать функции рендеринга и фильтрации для информации о клиенте, такие как имя и адрес электронной почты для каждого entity_id. Я хочу присоединить модель клиента …

2
Magento2 Сортировать по пункту в коллекции
У меня есть пользовательская коллекция, в которую я добавляю фильтры. Например, у меня есть это: $giftColletion = $this->_giftFactory->getCollection(); $giftColletion->addFieldToFilter('store_id', 1); Какой фильтр я должен добавить к $ giftColletion, чтобы он мог возвращать все записи по положению поля в порядке ASC?

3
Многоуровневая навигация для пользовательской коллекции на пользовательской странице - magento2
Я работаю над получением многоуровневой навигации в magento2 для пользовательской коллекции продуктов. Я получаю пользовательскую коллекцию уже на пользовательской странице, чтобы показать многоуровневую навигацию. Пытался адаптировать это решение magento1, но не смог далеко уйти. Любая идея, как я могу добиться этого в magento2. Что я сделал до сих пор, как …

1
Как указать пользовательский порядок сортировки для коллекции товаров?
Я пытаюсь создать коллекцию продуктов на основе массива идентификаторов продуктов, а также сортировать коллекцию на основе массива идентификаторов. $productIds = array(318,310,311); $collection = Mage::getModel('catalog/product') ->getCollection() ->setOrder('entity_id', 'asc') // This will not do the job ->addAttributeToSelect('*') ->addAttributeToFilter('status', 1) ->addAttributeToFilter('entity_id', array( 'in' => $productIds, )); Я хочу отсортировать собранные, как они появляются …

2
Как клонировать коллекцию в Magento?
У меня есть одна коллекция в методе, где я хочу выполнить две разные операции над этой коллекцией. Итак, я хочу получить две отдельные копии одной коллекции, а затем снова назначить одну из двух коллекций исходной коллекции и вернуть ее. Для простоты предположим, что у меня есть коллекция объектов с именем …
12 collection 

4
Чтобы добавить фильтр по умолчанию для сетки в Magento2?
Я создал один пользовательский модуль с атрибутом title & status field в сетке администратора. Сетки коллекций в module_test_grid_block.xml <arguments> <argument name="id" xsi:type="string">testGrid</argument> <argument name="dataSource" xsi:type="object">Namespace\Module\Model\ResourceModel\test\Collection</argument> <argument name="default_sort" xsi:type="string">id</argument> <argument name="default_dir" xsi:type="string">desc</argument> <argument name="grid_url" xsi:type="url" path="*/*/grid"><param name="_current">1</param></argument> </arguments> Я хочу показать данные, которые включены. Есть ли возможность добавить фильтр по умолчанию …

4
Magento 2: Как отфильтровать коллекцию товаров по идентификатору магазина
Используя объект фабрики продуктов, я могу создать продукт, получить коллекцию продуктов и получить первый элемент этой коллекции. /* var $productFactory \Magento\Catalog\Model\ProductFactory */ $product = $this->productFactory->create()->getCollection()->getFirstItem(); Однако, если я попытаюсь добавить store_id в фильтр коллекции $product = $this->productFactory ->create() ->getCollection() ->addFieldToFilter('store_id', 1) ->getFirstItem(); Я получаю следующую ошибку Invalid attribute name: store_id …

5
Magento - Невозможно установить порядок сбора
Это, кажется, не упорядочено правильно, что-то я делаю не так? Предложения? $componentQuantityCollection = Mage::getModel('catalog/product')->getCollection(); $componentQuantityCollection->joinField('qty', 'cataloginventory/stock_item', 'qty', 'product_id=entity_id', '{{table}}.stock_id=1', 'left'); $componentQuantityCollection->addAttributeToFilter('sku', array('in' => $componentSkus))->setOrder('sku','ASC'); Другая коллекция, которая, кажется, не отсортирована, отличается от первой: $kitCollection = Mage::getModel('kitinventory/kitinventory')->getCollection()->addFieldToFilter('kit_sku', $sku)->setOrder('related_sku', 'DESC');

4
Лучшая практика для объединения атрибутов продукта
У меня есть пользовательская таблица со ссылкой на продукт product_id. Теперь я хотел бы показать информацию о продукте (sku, name) в своей сетке бэкэнда , но я не уверен, что лучше всего делать это? Моя лучшая догадка SKUзаключается в следующем: $collection->join( 'catalog/product', 'product_id=`catalog/product`.entity_id', array('product_sku' => 'sku') ) (код из _prepareCollection() …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.