/** * @test */ public function itShouldBeAbleToOn() { $this->query->setTable('user')->setColumns(array('userId' => 'user_id', 'username' => 'name', 'email' => 'email', 'created_at'))->orderBy('user_id', OrderBy::DESC)->join('news', 'user_id', 'author_id', array('title', 'body', 'created_at', 'updated_at'))->orderBy('created_at', OrderBy::DESC)->on()->eq('author_id', 1); $this->query->limit(1, 10); $expected = 'SELECT user.user_id AS \'userId\', user.name AS \'username\', user.email AS \'email\', user.created_at,' . ' news.title, news.body, news.created_at, news.updated_at FROM user JOIN news ON ' . '(news.author_id = user.user_id) AND (news.author_id = :v1) ORDER BY ' . 'user.user_id DESC, news.created_at DESC LIMIT :v2, :v3'; $this->assertSame($expected, $this->writer->write($this->query)); $expected = array(':v1' => 1, ':v2' => 1, ':v3' => 10); $this->assertEquals($expected, $this->writer->getValues()); }
/** * @param $start * @param int $count * * @return Select */ public function limit($start, $count = 0) { return $this->select->limit($start, $count); }