sql >> Base de Datos >  >> RDS >> Mysql

Ordenación de MYSQL con doctrina

No puede simplemente enumerar ORDER BY directivas a Doctrine. Puede dar un solo ->orderBy() llamada al método, dando el campo a usar y la dirección (opcional, ASC es predeterminado) como argumentos, y se deben agregar más campos de orden usando el addOrderBy método. Su consulta debería verse como

$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");

Ver la documentación sobre este tema.