Estás leyendo la publicación: Cómo aplicar las condiciones OR a la colección en Magento 2
Magento 2 permite aplicar las condiciones OR & AND a las colecciones en Magento 2. Sin embargo, la condición predeterminada aplicada es AND a las colecciones en Magento 2.
Ejemplo de condición AND:
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; protegido $productCollectionFactory; public function __construct(CollectionFactory $productCollectionFactory) { $this->productCollectionFactory = $productCollectionFactory; } $colección = $esto->productCollectionFactory->create(); $colección->addAttributeToSelect(‘*’); $colección->addAttributeToFilter([[‘attribute’=>’sku’,’like’=>’%ch%’],[‘attribute’=>’status’, ‘eq’=>’1’]]);
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; protegido $productCollectionFactory; función pública __construct(CollectionFactory $productCollectionFactory) { $this->productCollectionFactory = $productCollectionFactory; } $colección = $esto->productCollectionFactory->create(); $colección->addAttributeToSelect(‘*’); $colección->addAttributeToFilter([[‘attribute’=>’sku’,’like’=>’%ch%’],[‘attribute’=>’status’, ‘eq’=>’1’]]); |
Se buscará la colección de solo aquellos productos cuyo (escribir según el ejemplo)
SKU comienza con mt y el tipo de producto es simple
Ejemplo de condición OR:
El método para aplicar condiciones OR al cobro en Magento 2 es como sigue:
O CONDICIÓN para el filtro addAttributeToFilter:
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; protegido $productCollectionFactory; public function __construct(CollectionFactory $productCollectionFactory) { $this->productCollectionFactory = $productCollectionFactory; } $colección = $esto->productCollectionFactory->create(); $colección->addAttributeToSelect(‘*’); $colección->addAttributeToFilter([[‘attribute’=>’sku’,’like’=> ‘%ch%’],
[‘attribute’=>’status’,’eq’ => ‘1’]]);
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; protegido $productCollectionFactory; función pública __construct(CollectionFactory $productCollectionFactory) { $this->productCollectionFactory = $productCollectionFactory; } $colección = $esto->productCollectionFactory->create(); $colección->addAttributeToSelect(‘*’); $colección->addAttributeToFilter([[‘attribute’=>’sku’,’like’=> ‘%ch%’], [‘attribute’=>’status’,’eq’ => ‘1’]]); |
SKU contenido carácter ch o estado es 1
O CONDICIÓN para el filtro addFieldToFilter:
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; protegido $productCollectionFactory; public function __construct(CollectionFactory $productCollectionFactory) { $this->productCollectionFactory = $productCollectionFactory; } $colección = $esto->productCollectionFactory->create(); $colección->addAttributeToSelect(‘*’); $colección->addFieldToFilter([‘attribute_set_id’,’type_id’],[[‘eq’=>4],[‘eq’=>’simple’]]);
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; protegido $productCollectionFactory; función pública __construct(CollectionFactory $productCollectionFactory) { $this->productCollectionFactory = $productCollectionFactory; } $colección = $esto->productCollectionFactory->create(); $colección->addAttributeToSelect(‘*’); $colección->addFieldToFilter([‘attribute_set_id’,’type_id’],[[‘eq’=>4],[‘eq’=>’simple’]] ); |
Eso es todo.
De esta forma, puede agregar condiciones OR a la colección en Magento 2 utilizando el método addFieldToFilter().
Cualquier duda en el método se puede mencionar en la sección de Comentarios a continuación y estaré encantado de ayudarte.
Comparta la publicación con Magento peeps a través de las redes sociales.
Gracias.