Jump to content

como leer un campo de igual nombre en BD


Recommended Posts

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

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 by polaries (see edit history)
Link to comment
Share on other sites

 

$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

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 by polaries (see edit history)
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...