Jump to content

Recommended Posts

Buenos días. 

 

No soy capaz de que me muestre los productos en la página. Lo he puesto en modo debug y me sale el siguiente error:

el error está en una referencia a la tabla cuando intenta hacer join con la tabla ps_product_attribute_shop y el campo product_attribute_shop.`id_product` que no existe (el campo sería id_product_attribute)

 

Cómo puedo modificar la query para que lo haga correctamente?

 

[PrestaShopDatabaseException]

Unknown column 'product_attribute_shop.id_product' in 'on clause'
 

SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`,
            pl.`meta_keywords`, pl.`meta_title`, pl.`name`, pl.`available_now`, pl.`available_later`, image_shop.`id_image` id_image, il.`legend`, m.`name` AS manufacturer_name,
            product_shop.`date_add` > "2015-10-19" as new,
product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity, IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute
FROM `ps_product` p
INNER JOIN ps_product_shop product_shop
        ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)
LEFT JOIN `ps_product_lang` `pl` ON
            p.`id_product` = pl.`id_product`
            AND pl.`id_lang` = 1 AND pl.id_shop = 1
LEFT JOIN `ps_image_shop` `image_shop` ON image_shop.`id_product` = p.`id_product` AND image_shop.cover=1 AND image_shop.id_shop=1
LEFT JOIN `ps_image_lang` `il` ON image_shop.`id_image` = il.`id_image` AND il.`id_lang` = 1
LEFT JOIN `ps_manufacturer` `m` ON m.`id_manufacturer` = p.`id_manufacturer`
LEFT JOIN `ps_product_attribute_shop` `product_attribute_shop` ON p.`id_product` = product_attribute_shop.`id_product` AND product_attribute_shop.`default_on` = 1 AND product_attribute_shop.id_shop=1
LEFT JOIN ps_stock_available stock
            ON (stock.id_product = p.id_product AND stock.id_product_attribute = 0 AND stock.id_shop = 1 AND stock.id_shop_group = 0 )
WHERE (product_shop.`active` = 1) AND (product_shop.`visibility` IN ("both", "catalog")) AND (product_shop.`date_add` > "2015-10-19") AND (EXISTS(SELECT 1 FROM `ps_category_product` cp
                JOIN `ps_category_group` cg ON (cp.id_category = cg.id_category AND cg.`id_group` IN (3))
                WHERE cp.`id_product` = p.`id_product`))
ORDER BY product_shop.`date_add` DESC
LIMIT 8

at line 791 in file classes/db/Db.php

Edited by cppleal (see edit history)
Link to comment
Share on other sites

Hello

I have a same problem:

 

Unknown column 'product_attribute_shop.id_product' in 'on clause'

SELECT product_shop.`price`, product_shop.`ecotax`,IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute, product_attribute_shop.`price` AS attribute_price, product_attribute_shop.default_onFROM `ps_product` pINNER JOIN `ps_product_shop` product_shop ON (product_shop.id_product=p.id_product AND product_shop.id_shop = 1)LEFT JOIN `ps_product_attribute_shop` `product_attribute_shop` ON (product_attribute_shop.id_product = p.id_product AND product_attribute_shop.id_shop = 1)WHERE (p.`id_product` = 5)

at line 791 in file classes/db/Db.php

 

I don't find any information about that. You have templatemonster theme ?, what version of prestashop you have ? Thanks

Link to comment
Share on other sites

Perdón, está solucionado el tema. Gracias por vuestra colaboración. 

 

El problema es que tuve que reemplazar algunas tablas de Productos desde versiones anteriores, en mi versión 1.6.1.3. Y en la tabla  ps_product_attribute_shop se incorporó el campo id_product, por eso no funcionaba la consulta. La he cargado correctamente con esa información y todo OK. 

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...