Saltar al contenido

Magento2 – Cómo ver si los productos configurables tienen productos simples adjuntos

Solución:

Pruebe el siguiente script desde la raíz de magento2:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

use MagentoFrameworkAppBootstrap;

try{

    require __DIR__ . '/app/bootstrap.php'; 

    $bootstrap = Bootstrap::create(BP, $_SERVER);

    $obj = $bootstrap->getObjectManager();
    $resource = $obj->get('MagentoFrameworkAppResourceConnection');
    $connection = $resource->getConnection();

    $sql = "SELECT * FROM catalog_product_entity WHERE type_id = 'configurable' and entity_id NOT IN (SELECT parent_id FROM catalog_product_relation)";
    $result = $connection->fetchAll($sql);

    if (!count($result)) {
        $sql = "SELECT * FROM catalog_product_entity WHERE type_id = 'configurable' and entity_id NOT IN (SELECT parent_id FROM catalog_product_super_link)";
        $result = $connection->fetchAll($sql);
    }

    echo "Number of products: " . count($result) . "<br/>";
    echo '<pre>';print_r($result);

} catch (Exception $e) {
    echo $e->getMessage();
}

Si se siente cómodo con el uso de MySQL para responder a su pregunta, puede escribir una consulta como

select * from catalog_product_entity left join catalog_product_relation on (parent_id = entity_id) where type_id = "configurable" group by parent_id having (count(*) = 0)

Esto unirá la tabla de productos con la tabla que alberga la relación padre / hijo. Luego, filtrar eso a través de una cláusula de tener para encontrar todos los que no tienen esa relación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *