Skip to main content
Version: Fegg 5.x (next)

Model::order

Set Order Parameter

Description​

public self Model::order( string $order, [ string $duration = 'ASC' ] )

Adds a column to ORDER BY. Call it again for a second sort key.

  • $order must be a column name (post_date or cms_news.post_date); anything else, such as 'post_date desc' or an expression, throws InvalidArgumentException. Use orderRaw for expressions.
  • $duration is DESC (case-insensitive) or anything else for ASC, so it is safe to pass a sort direction from the request.
  • order('random') sorts in random order (ORDER BY RANDOM(), an SQLite function).

Arguments​

NameData typeDefaultRemarks
$orderstringColumn name, or 'random'
$durationstring'ASC''ASC' or 'DESC'

Example​

Controller
$model = new Model(false, array(
'table' => 'cms_news',
'id' => 'news_id',
'visible' => 'visible',
));

// ... Order By post_date DESC,news_id DESC
$records = $model->order('post_date', 'desc')->order('news_id', 'desc')->find();

// 3 random news
$records = $model->order('random')->limit(3)->all();