es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtener datos de la misma tabla con JOIN.

Como Prestashop 1.7 no admite la variable de precio mayorista de productos simples… estoy buscando alguna petición SQL para obtener el precio mayorista en la lista del catálogo de productos del administrador de Back Office para agregar una columna adicional.

Actualmente tengo este código, pero no obtiene el “precio mayorista” según “id_producto”. Tal vez alguien pueda ayudarme, ¿dónde está mi error?

Ambos campos están en la misma tabla llamada ps_producto.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para obtener la variable “wholesale_price” de acuerdo con el “id_product”, debes modificar la consulta SQL de la siguiente manera:

    public function hookActionAdminProductsListingFieldsModifier($params)
    {
        // Precio al por mayor
        $params['sql_select']['wholesale_price'] = [
            'table' => 'p',
            'field' => 'wholesale_price',
            'filtering' => \PrestaShop\PrestaShop\Adapter\Admin\AbstractAdminQueryBuilder::FILTERING_LIKE_BOTH
        ];
    
        $params['sql_table']['p'] = [
            'table' => 'product',
            'join' => 'LEFT JOIN',
            'on' => 'p.`id_product` = a.`id_product`',
        ];
    }
    

    Aquí, hemos nombrado la consulta SQL “wholesale_price” y modificado el parámetro ‘table’ en la selección SQL a ‘p’ en lugar de ‘product’. También actualizamos la tabla SQL para usar ‘p’ en lugar de ‘m’. Esto debería devolver el precio al por mayor para cada producto basado en el “id_product” del producto.

Comments are closed.