Mysql
 sql >> Database >  >> RDS >> Mysql

Ordinamento MySQL con la dottrina

Non puoi semplicemente enumerare ORDER BY direttive alla Dottrina. Puoi fornire un singolo ->orderBy() chiamata al metodo, fornendo il campo da utilizzare e la direzione (opzionale, ASC è predefinito) come argomenti e ulteriori campi ordine devono essere aggiunti utilizzando addOrderBy metodo. La tua query dovrebbe assomigliare a

$query->select("sp")
    ->from("CoreBundle:ServiceProvider","sp")
    ->andWhere("sp.city = :city_name")->setParameter("city_name",$cityName)
    ->innerJoin("sp.offers","offer")
    ->innerJoin("offer.service","service","with","offer.service = service")
    ->orderBy("sp.points", "DESC")
    ->addOrderBy("sp.name", "ASC")
    ->addOrderBy("service.points");

Vedi la documentazione su questo argomento.