polaries Posted April 25, 2017 Share Posted April 25, 2017 por ejemplo : tengo una consulta con select * que devuelve el campo name de product (bueno de product_lang) y el campo name de manufacturer como hago algo como : $row['producto.name'] y $row['manufacturer.name'] He probado de mil maneras y no funciona,la solución que he encontrado es seleccionando los campos en la select dandoles un nombre,pero es un poco chapuza eso. Link to comment Share on other sites More sharing options...
JuanMartinWeb Posted April 26, 2017 Share Posted April 26, 2017 Hola polaries, En esa consulta select ¿a que tablas haces referencia? Un saludo! Link to comment Share on other sites More sharing options...
polaries Posted April 26, 2017 Author Share Posted April 26, 2017 (edited) Hola polaries, En esa consulta select ¿a que tablas haces referencia? Un saludo! $sql->select('*,mn.name manNombre,pl.name prodNombre'); $sql->from('product' , 'p'); $sql->innerJoin('product_lang' , 'pl' , 'pl.id_product = p.id_product'); $sql->innerJoin('manufacturer' , 'mn' , 'p.id_manufacturer = mn.id_manufacturer'); $sql->innerJoin('stock_available', 'sa', 'sa.id_product = p.id_product AND sa.id_product_attribute = 0 AND sa.id_shop = 1 AND sa.id_shop_group = 0 '); $sql->where('p.id_shop_default = 1'); $sql->where('pl.id_lang = 1'); Edited April 26, 2017 by polaries (see edit history) Link to comment Share on other sites More sharing options...
JuanMartinWeb Posted April 26, 2017 Share Posted April 26, 2017 $sql->select('*,mn.name manNombre,pl.name prodNombre'); $sql->from('product' , 'p'); $sql->innerJoin('product_lang' , 'pl' , 'pl.id_product = p.id_product'); $sql->innerJoin('manufacturer' , 'mn' , 'p.id_manufacturer = mn.id_manufacturer'); $sql->innerJoin('stock_available', 'sa', 'sa.id_product = p.id_product AND sa.id_product_attribute = 0 AND sa.id_shop = 1 AND sa.id_shop_group = 0 '); $sql->where('p.id_shop_default = 1'); $sql->where('pl.id_lang = 1'); no creo que sea una chapuza renombrarlos, ten en cuenta que tienen el mismo nombre 'name' en las dos tablas. Link to comment Share on other sites More sharing options...
polaries Posted April 26, 2017 Author Share Posted April 26, 2017 (edited) no creo que sea una chapuza renombrarlos, ten en cuenta que tienen el mismo nombre 'name' en las dos tablas. Na,si lo digo porque en ese * ya van los campos sin necesidad de renombrarlos ... y debería de haber alguna manera de hacer $row['mn.name'] y $row['pl.name'] al igual que la hay en SQL puro,pero por lo que parece aqui no la hay,asi que no queda otra que redundar los campos necesarios en la select (cosa que no me gusta). imaginate que en vez de 2 campos fueran 8 por ejemplo,¿redundarias los 8? (cosa improbable...pero en esto de la informática ya sabes lo que pasa con los improbables no?) gracias por contestar Edited April 26, 2017 by polaries (see edit history) Link to comment Share on other sites More sharing options...
JuanMartinWeb Posted April 26, 2017 Share Posted April 26, 2017 Na,si lo digo porque en ese * ya van los campos sin necesidad de renombrarlos ... y debería de haber alguna manera de hacer $row['mn.name'] y $row['pl.name'] al igual que la hay en SQL puro,pero por lo que parece aqui no la hay,asi que no queda otra que redundar los campos necesarios en la select (cosa que no me gusta). imaginate que en vez de 2 campos fueran 8 por ejemplo,¿redundarias los 8? (cosa improbable...pero en esto de la informática ya sabes lo que pasa con los improbables no?) gracias por contestar Jejeje si si ya lo sé. Pero para dárselos a Prestashop tenemos que 'limpiar'/'ordenar' esos campos para que los entienda. Un saludo! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now