«collection» 태그된 질문

마 젠토 컬렉션 관련 질문


3
효율적인 컬렉션 호출, 필터링 및로드
지금은 foreach 루프 내에 중첩 된 많은 컬렉션을 재사용하고 있습니다. 이러한 것들을 몇 단계 위로 올릴 수 있습니까? 현재 Im은 51k + 엔터티가 반복되는 컬렉션을 다시로드해야하므로 속도가 크게 느려집니다. 특히 Kitinventory 컬렉션. <?php class Codespace_Module_Helper_Item extends other_one{ function functionOne($collection){ ... $data = $collection->getData(); foreach($data as $item){ $this->_functionTwo($item); } ... } …


4
마 젠토-사용자 정의 (비 eav) 모델, 여러 필드에 의해로드
사용자 지정 모델과 리소스 모델이 있습니다. 둘 이상의 필드를 사용하여 모델의 단일 인스턴스를로드하고 싶습니다. 이 모델에는 다음과 같은 필드가 있습니다. id tag_name custom_name group_name id 대신 tag_name, custom_name 및 group_name을 기반 으로이 모델을로드하고 싶습니다. 현재 각 필드에 컬렉션과 addFilter를 사용하고 있습니다. 이것은 작동하지만 Magento에 이러한 유형의 표준 전략이 있는지 궁금합니다. …
15 collection  model 

6
Magento 2에서 컬렉션 MySQL 쿼리를 인쇄하는 방법은 무엇입니까?
이는 getSelect()->__toString();수집의 인쇄 쿼리에 대한 젠토 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); No $this->getEntity()는 Mage_Catalog_Model_Resource_Product_Flat플랫 필드를 가져 오는 인스턴스입니다. 이 필드가 없으면 null 만 반환합니다. 플랫 필터가 아닌 속성을 컬렉션 필터에 추가하는 확실한 …

1
조인 쿼리와 함께 magento 컬렉션에서 group by를 사용하는 방법
모듈의 관리 그리드 에서이 코드를 사용하여 고객 ID별로 수집하고 그룹화합니다. $collection = Mage::getModel('referafriend/statistics')->getCollection(); $collection->getSelect()->group('entity_id'); $this->setCollection($collection); 그러나 여기서는 이름과 이메일 각각에 대한 고객 정보에 렌더러 및 필터 기능을 사용해야합니다 entity_id. 모듈 모델과 고객 모델을 결합하고 싶습니다. 이것을 위해 나는이 코드를 작성했다 $collection = Mage::getModel('customer/customer')->getCollection() ->addNameToSelect(); $collection->getSelect()->join(array('refer' => 'table_name'),'refer.entity_id = e.entity_id' ); …

2
컬렉션의 Magento2 Order by 절
필터를 추가 할 사용자 지정 컬렉션이 있습니다. 예를 들어, 나는 이것을 가지고있다 : $giftColletion = $this->_giftFactory->getCollection(); $giftColletion->addFieldToFilter('store_id', 1); $ giftColletion에 어떤 필터를 추가하여 ASC 순서 로 필드 위치 별로 모든 레코드를 반환 할 수 있습니까?

3
사용자 정의 페이지의 사용자 정의 콜렉션에 대한 계층 탐색-magento2
사용자 지정 제품 컬렉션을 위해 magento2에서 계층 탐색을 가져 오는 중입니다. 사용자 정의 페이지에 이미 사용자 정의 콜렉션이 표시되어 계층 탐색을 표시해야합니다. 이 magento1 솔루션 을 조정하려고 시도 했지만 멀리 가지 못했습니다. 어떻게 magento2에서 그것을 달성 할 수 있습니까? 내가 지금까지 한 일은 다음과 같습니다. 내 사용자 정의 페이지에서 사용자 …

1
제품 콜렉션에 대한 사용자 정의 정렬 순서를 지정하는 방법은 무엇입니까?
제품 ID 배열을 기반으로 제품 컬렉션을 만들고 id 배열을 기반으로 컬렉션을 정렬하려고합니다. $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, )); $productIds배열에 나타나는 것처럼 수집 된 정렬을 원 318, 310, 311하지만 위의 코드는와 같은 …

2
마 젠토에서 컬렉션을 복제하는 방법?
이 컬렉션에 대해 두 가지 다른 작업을 수행하려는 방법에 하나의 컬렉션이 있습니다. 따라서 동일한 컬렉션의 두 복사본을 별도로 원한 다음 두 컬렉션 중 하나를 원래 컬렉션에 다시 할당하고 반환합니다. 이것을 간단하게하기 위해이라는 객체 컬렉션이 있다고 가정합니다 $collection. 이제 Magento 컬렉션 복제가 내장되어 있는지 여부를 알 수 없으므로 PHP 복제로 시도하고 …
12 collection 

4
Magento2에서 그리드에 기본 필터를 추가하려면?
관리 그리드에서 제목 및 상태 필드 속성을 가진 하나의 사용자 정의 모듈을 만들었습니다. 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
마 젠토 2 : 상점 ID별로 제품 콜렉션을 필터링하는 방법
제품 팩토리 객체를 사용하여 제품을 만들고 제품 컬렉션을 잡고 해당 컬렉션의 첫 번째 항목을 가져올 수 있습니다. /* 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 #0 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php(1434): Magento\Eav\Model\Entity\Collection\AbstractCollection->_addAttributeJoin('store_id', 'inner') …

5
마 젠토-수집 순서를 설정할 수 없습니다
이것은 올바르게 주문되지 않은 것 같습니다. 잘못하고 있습니까? 제안? $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, 이름)를 표시 하고 싶지만이를 수행하는 가장 좋은 방법은 무엇입니까? 가장 좋은 추측 SKU은 다음과 같습니다. $collection->join( 'catalog/product', 'product_id=`catalog/product`.entity_id', array('product_sku' => 'sku') ) ( 내 그리드 블록 클래스 의 메소드 코드 _prepareCollection() ) 그러나 제품 이름은 어떻습니까? catalog_product_entity_varchar에서 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.