Cómo ordenar resultados con findBy() en Doctrine

1 minuto de lectura

avatar de usuario
Espejismo

estoy usando el findBy() método en un repositorio de Doctrine:

$entities = $repository->findBy(array('type'=> 'C12'));

¿Cómo puedo ordenar los resultados?

avatar de usuario
xdazz

El segundo parámetro de findBy es por PEDIDO.

$ens = $em->getRepository('AcmeBinBundle:Marks')
          ->findBy(
             array('type'=> 'C12'), 
             array('id' => 'ASC')
           );

  • Aparentemente, la documentación de la API en el sitio web de la doctrina no coincide con el código fuente real. github.com/doctrine/doctrine2/blob/2.4/lib/Doctrine/ORM/… demuestra que estás en lo cierto.

    –Patrick James McDougle

    7 oct 2013 a las 15:12

  • ¿Puedo establecer un orden múltiple por?

    – Fabien Papet

    17 de diciembre de 2014 a las 12:49

  • Un poco tarde para encontrar esta pregunta, pero para cualquier otra persona que se pregunte sobre esto, sí, puede agregar múltiples “ordenar por”, simplemente agregue más elementos en esa segunda matriz de parámetros y defina los nombres de campo ‘ASC’ o ‘DESC’. ES DECIR: array('priority'=>'ASC','id'=>'ASC').

    – Aarón Belchamber

    25 de marzo de 2015 a las 14:41


  • ¿Qué pasa si AcmeBinBundle:Marks está relacionado ManyToOne con “producto” y queremos ordenar por un campo en el objeto del producto? ¿Es esto posible?

    –Rodolfo Velasco

    18 de noviembre de 2015 a las 14:56

  • @RodolVelasco findBy se usa para la escena de consulta básica, para una escena más complicada, use la consulta en su lugar. me gusta $qb = $em->getRepository('AcmeBinBundle:Marks')->createQueryBuilder('m')->....

    – xdazz

    19 de noviembre de 2015 a las 1:07


$ens = $em->getRepository('AcmeBinBundle:Marks')
              ->findBy(
                 array(), 
                 array('id' => 'ASC')
               );

avatar de usuario
Bhaktaraz

$cRepo = $em->getRepository('KaleLocationBundle:Country');

// Leave the first array blank
$countries = $cRepo->findBy(array(), array('name'=>'asc'));

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad