Cómo aplicar las condiciones OR a la colección en Magento 2

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.