ManaPHP\Mvc\Model\QueryBuilder::__construct PHP Метод

__construct() публичный Метод

$params = array( 'models' => array('Users'), 'columns' => array('id', 'name', 'status'), 'conditions' => array( array( "created > :min: AND created < :max:", array("min" => '2013-01-01', 'max' => '2015-01-01'), array("min" => PDO::PARAM_STR, 'max' => PDO::PARAM_STR), ), ), or 'conditions' => "created > '2013-01-01' AND created < '2015-01-01'", 'group' => array('id', 'name'), 'having' => "name = 'lily'", 'order' => array('name', 'id'), 'limit' => 20, 'offset' => 20, or 'limit' => array(20, 20), ); $queryBuilder = new \ManaPHP\Mvc\Model\Query\Builder($params);
public __construct ( array | string $params = null )
$params array | string
    public function __construct($params = null)
    {
        if ($params === null) {
            $params = [];
        } elseif (is_string($params)) {
            $params = [$params];
        }
        if (isset($params[0])) {
            $this->_conditions = $params[0];
        } elseif (isset($params['conditions'])) {
            $this->_conditions = $params['conditions'];
        } else {
            $this->_conditions = $params;
            $params = [];
        }
        if (isset($params['bind'])) {
            $this->_bind = array_merge($this->_bind, $params['bind']);
        }
        if (isset($params['distinct'])) {
            $this->distinct($params['distinct']);
        }
        if (isset($params['models'])) {
            $this->_models = $params['models'];
        }
        if (isset($params['columns'])) {
            $this->columns($params['columns']);
        }
        if (isset($params['joins'])) {
            $this->_joins = $params['joins'];
        }
        if (isset($params['group'])) {
            $this->groupBy($params['group']);
        }
        if (isset($params['having'])) {
            $this->having($params['having']);
        }
        if (isset($params['order'])) {
            $this->orderBy($params['order']);
        }
        if (isset($params['limit'])) {
            $this->limit($params['limit'], isset($params['offset']) ? $params['offset'] : 0);
        }
        if (isset($params['for_update'])) {
            $this->forUpdate($params['for_update']);
        }
    }