Pregunta

Para un sitio web que estoy construyendo necesito comprobado si una ubicación tiene contratos, estos lugares pueden tener contratos vinculados directamente a ellos o cuando hay parte de una organización más grande también tiene contratos que están vinculados a la organización.

Estoy tratando de utilizar una consulta DQL al primero verifique si hay contratos vinculados directamente y luego si hay algún vinculados a través de un organistion con esta consulta:

    $q = self::createQuery("l")
        ->select('sl.sc_id, sl.type, so.sc_id, so.type, l.naam, l.loc_id, l.straat, l.telefoon, l.plaats, l.postcode, l.huisnummer, l.huisnummer_achtervoegsel, o.naam')
        ->from('Locatie l, l.Organisatie o, l.Sc sl, o.Sc so')
        ->orderBy('o.naam, l.naam')
        ->execute();

Se hace lo que yo quiero en tanto como que devuelve una matriz con todos los datos que necesito:

array(13) { 
["loc_id"]=> string(2) "93" ["org_id"]=> string(1) "9" ["naam"]=> string(12) "test" 
["Organisatie"]=> array(4) { ["org_id"]=> string(1) "9" ["naam"]=> string(3) "test"
["Sc"]=> array(1) { [0]=> array(6) { ["sc_id"]=> string(1) "1" ["sc_nummer"]=> NULL ["type"]=> string(6) "All-in" } } } 
["Sc"]=> array(0) { } 

}

El problema es el duplicado [ "SC"] clave, porque en php cuando un array tiene duplicados de las llaves, la última clave sobrescribe la primera (lo que he leído de todos modos), esto hace que sea imposible hacer una comprobación como:

if(!empty($SC) or !empty($SC2) {}

Me parece que no puede encontrar la manera de hacer que la doctrina nombre de una de las claves de forma diferente o tal vez incluso combinar los dos.

I intentado utilizar INDEXBY pero que cambia la clave de dentro de la matriz [ 'SC'] y no [ 'SC'] sí mismo.

¿Alguna idea?

¿Fue útil?

Solución

Puede cambiar su nombre dentro de la consulta. Así que en su ejemplo, que sólo iba a cambiar en la sc_id a algo como

[...] sl.sc_id AS your_new_key [...]

Consulte http://www.doctrine-project.org/projects/orm/1.2/docs/manual/dql-doctrine-query-language/en#select-queries:aggregate-values ??

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top