order() public method

Returns an ORDER BY clause as a string.
public order ( array | string $keys, string $direction = 'ASC', Model $Model = null ) : string
$keys array | string Field reference, as a key (i.e. Post.title)
$direction string Direction (ASC or DESC)
$Model Model Model reference (used to look for virtual field)
return string ORDER BY clause
 /**
  * testComplexSortExpression method
  *
  * @return void
  */
 public function testComplexSortExpression()
 {
     $result = $this->Dbo->order(array('(Model.field > 100) DESC', 'Model.field ASC'));
     $this->assertRegExp("/^\\s*ORDER BY\\s+\\(`Model`\\.`field`\\s+>\\s+100\\)\\s+DESC,\\s+`Model`\\.`field`\\s+ASC\\s*\$/", $result);
 }
 /**
  * Tests additional order options for postgres
  *
  * @return void
  */
 public function testOrderAdditionalParams()
 {
     $result = $this->Dbo->order(array('title' => 'DESC NULLS FIRST', 'body' => 'DESC'));
     $expected = ' ORDER BY "title" DESC NULLS FIRST, "body" DESC';
     $this->assertEquals($expected, $result);
 }
Example #3
0
/**
 * testComplexSortExpression method
 *
 * @return void
 */
	public function testComplexSortExpression() {
		$result = $this->Dbo->order(array('(Model.field > 100) DESC', 'Model.field ASC'));
		$this->assertPattern("/^\s*ORDER BY\s+\(`Model`\.`field`\s+>\s+100\)\s+DESC,\s+`Model`\.`field`\s+ASC\s*$/", $result);
	}