Archiwum

Posty oznaczone ‘domyślne sortowanie w propelu’

Symfony+Propel: domyślne sortowanie

Lipiec 9th, 2010 zergu Brak komentarzy

W przypadku gdy mamy wiele różnych metod pobierających kolekcje obiektów z bazy danych i chcemy, żeby były posortowane w podobny sposób — można dodać sortowanie w metodzie doSelect.

public static function doSelect (Criteria $criteria, PropelPDO $con = null)
{
  if (!$criteria->getOrderByColumns())
  {
     $criteria->addAscendingOrderByColumn (self::YEAR);
     $criteria->addAscendingOrderByColumn (self::MONTH);
     $criteria->addAscendingOrderByColumn (self::DAY);
  }
  return parent::doSelect ($criteria, $con);
}

Warunek if umożliwia nam zdefiniowanie dowolnego innego sortowania wcześniej. W przypadku, gdy jakaś metoda (np. getAll) nie definiowała sortowania za pomocą obiektu Criteria — zostanie użyte domyślne (tutaj: po dacie).