У меня есть метод для получения всех строк из таблицы в базе данных в порядке, указанном в аргументах:
public static function getAllOrderedBy($orders = null)
{
$criteria = new Criteria();
if(is_array($orders))
{
foreach($orders as $column => $order)
{
if($order == 'asc')
{
$criteria->addAscendingOrderByColumn($column);
}
else if($order == 'desc')
{
$criteria->addDescendingOrderByColumn($column);
}
}
}
else if($orders != null)
{
$criteria->addAscendingOrderByColumn($orders);
}
return self::doSelect($criteria);
}
Этот метод применяется в классе PagePeer
, но я хочу использовать его с несколькими моделями, такими как LinkPeer
или SubjectPeer
.
Я мог бы скопировать и вставить этот код из одной модели в другую, но я хочу спросить, есть ли лучший способ сделать этот метод доступным для всех этих классов?
Это не проблема, если использование изменится, поэтому я не буду звонить PagePeer:getAllByOrder(PagePeer::TITLE)
, но что-то еще, я просто не хочу копировать этот код в каждую модель, в которой он используется.