Запитання з тегом «collection»

Питання, що стосуються колекцій Magento

6
Різниця між getSize () та count () у колекції
Я багато разів чув, що вони обоє однакові. Але я стикаюся з дивною проблемою: у колекції продуктів модуля CatalogSearch count () повертає правильну кількість продуктів, тоді як getSize () повертає нуль. Отже, в основному це я отримую: $collection->count(); //correct count $collection->getSize(); //0 Але я хочу, щоб у getSize () був …


3
Найефективніший спосіб отримати всі ідентифікатори з колекції
Раніше для отримання всіх ідентифікаторів колекції продуктів я завжди використовував getAllIdsцю колекцію, вважаючи, що це метод, який запобігав повному завантаженню даних колекцією з даними тощо. Але я сьогодні переглянув метод, і він завантажує колекцію та повторює кожен елемент, щоб отримати масив ідентифікаторів. public function getAllIds() { $ids = array(); foreach …
37 collection 

1
Про модель колекції та модель ресурсу
Я трохи розгублений щодо використання ресурсної моделі та моделі колекції. Іноді, коли я бачу приклади для завантаження продуктів за допомогою конкретних атрибутів, в деяких прикладах вони використовують модель колекції, а іноді використовують ресурсну модель. Крім того, коли можна використовувати специфічний метод get...і set...разом з ім'ям рядка таблиці? Як getName, getId. …

2
Зліва приєднайтесь до таблиці за запитом колекції
Я роблю наступне, щоб отримати деякі замовлення з системи на експорт: $orders = Mage::getModel('sales/order')->getCollection() ->addFieldToFilter('status', $statusToExport) ->addFieldToFilter('store_id', $this->processingStoreId) ->addFieldToFilter('updated_at', array('gteq' => date('Y-m-d H:i:s', $lastSyncTime))); Мені потрібно додати щось там, де воно не експортується, якщо замовлення entity_idзнаходиться у спеціальній таблиці, яку я маю. Якби я використовував SQL, я би зробив: left …

1
Чи є історія колекцій у Magento 2?
Я знаю, що багато Magento 2 (2.1.2) є більш-менш перенесеним з Magento 1 і що багато коду буде замінено еквівалентом у майбутньому. У цьому аспекті мені цікаво, яке майбутнє у колекціях Magento 2. Дозволь пояснити: Magento 1: У Magento 1 ми звикли отримувати колекцію так: $products = Mage::getModel('catalog/product')->getCollection(); Потім ми …


2
Чи можна повторити колекції Magento з пагінацією?
Що я маю на увазі під цим, - чи є спосіб зробити: $collection = $model->getCollection(); foreach ($collection as $item) { $item->doStuff(); } Таким чином, що навіть якщо колекція мала 100k рядків, вона одночасно завантажує лише сторінку рядків з MySQL і магічно долучає їх до вас за кадром. З огляду на …

5
Випуск із використанням "маючи" у колекції Magento
Я намагаюся створити спеціальну колекцію для сітки в адміністративному модулі Magento. Я створив новий метод колекції під назвою "addAttributeHaving", який виконує наступні дії: public function addAttributeHaving($value) { $this->getSelect()->having($value); return $this; } Дивіться код колекції: $collection->addFieldToSelect( array( 'entity_id', 'created_at', 'increment_id', 'customer_email', 'customer_firstname', 'customer_lastname', 'grand_total', 'status' ) ); $collection->getSelect()->joinLeft(array('sfop' => 'sales_flat_order_payment'), 'main_table.entity_id …

2
addFilter vs addFieldToFilter
Колекція Magento має два способи фільтрації: 1. Varien_Data_Collection_Db::addFieldToFilter 2. Varien_Data_Collection::addFilter Здається, що обидва способи додають туди, де умова Zend_Db_Select. І які переваги addFilterприносить? Коли я повинен використовувати його замість addFieldToFilter?

2
Як отримати атрибут "мітка опції / текст атрибута", що має "значення атрибута" (option_id)?
Припустимо, у мене є атрибут, який є набором опцій (випадаючий / мультиселекторний). Я можу отримати значення атрибуту для даного продукту: $store_id = [something]; $productId = [something]; // this is a select/multiselect $attribute_code = [something]; $option_id = Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, $attribute_code, $store_id ); $option_label = ??? Тепер я отримав атрибут option_id, який є …

7
Отримайте колекцію продуктів з ідентифікатора категорії
Я намагаюся отримати колекцію продуктів з ідентифікатора категорії. Деякі речі, які я спробував, знаходяться в блоці: $category = Mage::getModel('catalog/category')->load(123) ->getProductCollection(); і $category = Mage::getModel('catalog/category')->load(123); $products = $category->getProductCollection()->addCategoryFilter($category) ->addAttributeToFilter('type_id', 'simple') ->addAttributeToSelect('*'); також спробував просто зробити це з phtml $oCatId = Mage::getModel('catalog/category')->load(769); $products->addCategoryFilter($oCatId); Нічого з цього не працює, але я також не …


3
Фільтрування результатів за допомогою LIKE
Розглянемо ці три струни "сіна": а) foo bar б) welcome to foo bar industries в) foo barer А тепер моя "голка": foo bar (Хе) Я хотів би, щоб мій фільтр збігав мою голку зі стружками сіна a & b, але не c. Я намагався: $collection->addAttributeToFilter('name', array('like' => '%'.$needle.'%')); Але вищезгадані …

4
Додати стовпець до сітки (спостерігач) - стовпець «store_id», у якому пункт неоднозначний
Я додаю стовпчик до сітки замовлень за допомогою підходу спостерігача: На заході -> sales_order_grid_collection_load_before я додаю приєднання до колекції На події -> core_block_abstract_prepare_layout_beforeя додаю стовпчик до сітки EDIT Детальніше: На заході (1): public function salesOrderGridCollectionLoadBefore($observer) { $collection = $observer->getOrderGridCollection(); $collection->addFilterToMap('store_id', 'main_table.store_id'); $select = $collection->getSelect(); $select->joinLeft(array('oe' => $collection->getTable('sales/order')), 'oe.entity_id=main_table.entity_id', array('oe.customer_group_id')); } …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.