Foros del Web » Programando para Internet » PHP » Symfony »

Problema query con dbal - doctrine 2

Estas en el tema de Problema query con dbal - doctrine 2 en el foro de Symfony en Foros del Web. Estimados, Tengo el siguiente problema. resulta que realice la siguiente query con dbal : Código PHP:  $fields  = array(            'md.mod_id' ,            'md.mod_number' ,            ...
  #1 (permalink)  
Antiguo 13/02/2012, 09:36
 
Fecha de Ingreso: mayo-2008
Mensajes: 44
Antigüedad: 15 años, 11 meses
Puntos: 1
Problema query con dbal - doctrine 2

Estimados,
Tengo el siguiente problema.
resulta que realice la siguiente query con dbal :
Código PHP:
 $fields = array(
          
'md.mod_id',
          
'md.mod_number',
          
'md.mod_description',
          
'md.pro_numeric_code',
          
'pro.pro_alphanumeric_code',
          
'pro.pro_description'
        
);
        
        
$sql 'SELECT ' implode(','$fields) .  ' FROM model AS md ';
        
$sql .= 'INNER JOIN product pro ON md.pro_numeric_code = pro.pro_numeric_code ';
        
$sql .= 'WHERE md.pro_numeric_code = :proNumericCode';

        
$stmt $conn->prepare($sql);
        
$stmt->bindValue('proNumericCode'$params['proNumericCode']);
        
$stmt->execute();
        
//Retornamos el resultado como array asociativos.
        
$return $stmt->fetchAll(PDO::FETCH_ASSOC); 
y me retorna el siguiente array :

Código PHP:
Array
(
    [
0] => Array
        (
            [
mod_id] => 1
            
[mod_number] => 1
            
[mod_description] => Modelo de prueba 1
            
[pro_numeric_code] => 000001
            
[pro_alphanumeric_code] => BOXGAR10RO
            
[pro_description] => CUBRECAMA BOX 1 PZAGARDEN ROSADO      
        
)

    [
1] => Array
        (
            [
mod_id] => 6
            
[mod_number] => 2
            
[mod_description] => Modelo de prueba 3
            
[pro_numeric_code] => 000001
            
[pro_alphanumeric_code] => BOXGAR10RO
            
[pro_description] => CUBRECAMA BOX 1 PZAGARDEN ROSADO      
        
)


Mi pregunta es :
Como puedo hacer para que el indice lo muestre como lo hace ORM de doctrine.
de la siguiente forma :

Código PHP:
Array
(
    [
0] => Array
        (
            [
modId] => 1
            
[modNumber] => 1
            
[modDescription] => Modelo de prueba 1
            
[proNumericCode] => 000001
            
[proAlphanumericCode] => BOXGAR10RO
            
[proDescription] => CUBRECAMA BOX 1 PZAGARDEN ROSADO      
        
)

    [
1] => Array
        (
            [
modId] => 6
            
[modNumber] => 2
            
[modDescription] => Modelo de prueba 3
            
[proNumericCode] => 000001
            
[proAlphanumericCode] => BOXGAR10RO
            
[proDescription] => CUBRECAMA BOX 1 PZAGARDEN ROSADO      
        
)



Existe algún parámetro que se le entregue a $stmt->fetchAll()?

Espero puedan ayudarme...


Saludos.
  #2 (permalink)  
Antiguo 13/02/2012, 10:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema query con dbal - doctrine 2

¿para que usas DBAL si puedes hacer esa consulta directamente desde DQL?

si quieres limitar los campos devueltos usa partial:

$dql="SELECT partial m.{id, field1, field2} FROM Model m";
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 13/02/2012, 10:37
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problema query con dbal - doctrine 2

Es que dbal te devuelve las columnas mientras que el ORM te devuelve las propiedades de las entities, tendrias que hacer el mismo proceso que hace doctrine, mapear las columnas con sus respectivas propiedades a traves de la metadata, osea utilizar el ORM :P.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 13/02/2012, 13:36
 
Fecha de Ingreso: mayo-2008
Mensajes: 44
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema query con dbal - doctrine 2

No quiero usar DQL directo, porque existen unos requerimientos un poco específicos.
Lo que pasa es que necesito realizar unos joins con tablas que no tienen integridad referencial, por lo tanto tampoco los tengo en las entidades.

Etiquetas: symfony2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:48.