Skip to content

Commit

Permalink
Fix bug
Browse files Browse the repository at this point in the history
  • Loading branch information
davidecesarano committed Aug 24, 2021
1 parent ad89fdf commit 983c457
Showing 1 changed file with 31 additions and 20 deletions.
51 changes: 31 additions & 20 deletions Embryo/PDO/QueryBuilder/QueryBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,18 @@ public function __construct(\PDO $pdo, string $table)
$this->table = $table;
}

/**
* "SELECT" fields.
*
* @param string[] $field
* @return self
*/
public function select(...$field): self
{
$this->select = (!empty($field)) ? join(', ', $field) : '*';
return $this;
}

/**
* ------------------------------------------------------------
* STATEMENTS
Expand Down Expand Up @@ -169,27 +181,14 @@ public function delete(): Query
return $query;
}

/**
* "SELECT" query.
*
* @param string[] $field
* @return Query
*/
public function select(...$field): Query
{
$this->select = (!empty($field)) ? join(', ', $field) : '*';
$query = $this->execute();
return $query;
}

/**
* SELECT statement shortened.
*
* @return object|array|bool
*/
public function get()
{
$this->select = '*';
$this->select = empty($this->select) ? '*' : $this->select;
$query = $this->execute();
return $query->get();
}
Expand All @@ -202,7 +201,7 @@ public function get()
*/
public function all()
{
$this->select = '*';
$this->select = empty($this->select) ? '*' : $this->select;
$query = $this->execute();
return $query->all();
}
Expand All @@ -214,10 +213,10 @@ public function all()
* @param string $select
* @return object
*/
public function paginate(int $perPage = 50, string $select = '*'): object
public function paginate(int $perPage = 50): object
{
$this->select = $select;

$this->select = empty($this->select) ? '*' : $this->select;
$request = (new ServerRequestFactory)->createServerRequestFromServer();
$params = $request->getQueryParams();
$page = isset($params['page']) && $params['page'] != 0 && is_numeric($params['page']) ? (int) $params['page'] : 1;
Expand Down Expand Up @@ -256,11 +255,23 @@ public function paginate(int $perPage = 50, string $select = '*'): object
*/
public function debug(): string
{
$this->select = '*';
$this->select = empty($this->select) ? '*' : $this->select;
$query = $this->execute();
return $query->debug();
}

/**
* Print query.
*
* @return string
*/
public function print(): string
{
$this->select = empty($this->select) ? '*' : $this->select;
$query = $this->execute();
return $query->print();
}

/**
* ------------------------------------------------------------
* AGGREGATES
Expand Down Expand Up @@ -632,7 +643,7 @@ private function addWhere($clause, $field, $operatorValue = null, $value = null)
throw new \InvalidArgumentException("First parameter must be a string or callable");
}

if (is_callable($field)) {
if (is_callable($field) && !is_string($field)) {

$this->startParentheses = true;
call_user_func($field, $this);
Expand Down

0 comments on commit 983c457

Please sign in to comment.