for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Muffin\Queries\Snippets\Builders;
use Muffin\Queries\Snippets;
trait Limit
{
protected
$limit,
$offset;
public function limit($limit)
__construct
$this->limit = new Snippets\Limit($limit);
return $this;
}
public function offset($offset)
if(!$this->limit instanceof Snippets\Limit)
throw new \LogicException('LIMIT is required to define OFFSET.');
$this->offset = new Snippets\Offset($offset);
private function buildLimit()
$limit = $this->buildLimitClause();
$offset = '';
if(! empty($limit))
$offset = $this->buildOffsetClause();
$clauses = array($limit, $offset);
return implode(' ', array_filter($clauses));
private function buildLimitClause()
if($this->limit instanceof Snippets\Limit)
return $this->limit->toString();
private function buildOffsetClause()
if($this->offset instanceof Snippets\Offset)
return $this->offset->toString();