Phalcon\Mvc\Model\Criteria
Класс Phalcon\Mvc\Model\Criteria
Реализует Phalcon\Mvc\Model\CriteriaInterface, Phalcon\Di\InjectionAwareInterface
Этот класс используется для построения массива параметров, необходимого для Phalcon\Mvc\Model::find() и Phalcon\Mvc\Model:: findFirst (), с помощью объектно-ориентированного интерфейса.
<?php $robots = Robots::query() ->where("type = :type:") ->andWhere("year < 2000") ->bind(["type" => "mechanical"]) ->limit(5, 10) ->orderBy("name") ->execute();
Методы
public setDI (Phalcon\DiInterface $dependencyInjector)
Устанавливает контейнер DependencyInjector
public getDI ()
Возвращает контейнер DependencyInjector
public setModelName (mixed $modelName)
Устанавливает модель, по которой будет выполняться запрос
public getModelName ()
Возвращает внутреннее имя модели, к которой будут применены критерии
public bind (array $bindParams, [mixed $merge])
Задает параметры привязки в критериях этот метод заменяет все ранее заданные параметры привязки
public bindTypes (array $bindTypes)
Задает типы привязки в критериях этот метод заменяет все ранее заданные параметры привязки
public distinct (mixed $distinct)
Устанавливает флаг SELECT DISTINCT / SELECT ALL
public Phalcon\Mvc\Model\Criteria columns (string | array $columns)
Устанавливает запрашиваемые столбцы
<?php $criteria->columns( [ "id", "name", ] );
public join (mixed $model, [mixed $conditions], [mixed $alias], [mixed $type])
Добавляет соединение INNER к запросу
<?php $criteria->join("Robots"); $criteria->join("Robots", "r.id = RobotsParts.robots_id"); $criteria->join("Robots", "r.id = RobotsParts.robots_id", "r"); $criteria->join("Robots", "r.id = RobotsParts.robots_id", "r", "LEFT");
public innerJoin (mixed $model, [mixed $conditions], [mixed $alias])
Добавляет соединение INNER к запросу
<?php $criteria->innerJoin("Robots"); $criteria->innerJoin("Robots", "r.id = RobotsParts.robots_id"); $criteria->innerJoin("Robots", "r.id = RobotsParts.robots_id", "r");
public leftJoin (mixed $model, [mixed $conditions], [mixed $alias])
Добавляет соединение LEFT к запросу
<?php $criteria->leftJoin("Robots", "r.id = RobotsParts.robots_id", "r");
public rightJoin (mixed $model, [mixed $conditions], [mixed $alias])
Добавляет соединение RIGHT к запросу
<?php $criteria->rightJoin("Robots", "r.id = RobotsParts.robots_id", "r");
public where (mixed $conditions, [mixed $bindParams], [mixed $bindTypes])
Устанавливает параметр условий в критерии
public addWhere (mixed $conditions, [mixed $bindParams], [mixed $bindTypes])
Добавляет условие к текущим условиям, используя оператор AND (устаревший)
public andWhere (mixed $conditions, [mixed $bindParams], [mixed $bindTypes])
Добавляет условие к текущим условиям, используя оператор AND
public orWhere (mixed $conditions, [mixed $bindParams], [mixed $bindTypes])
Добавляет условие к текущим условиям с использованием оператора OR
public betweenWhere (mixed $expr, mixed $minimum, mixed $maximum)
Добавляет условие BETWEEN к текущим условиям
<?php $criteria->betweenWhere("price", 100.25, 200.50);
public notBetweenWhere (mixed $expr, mixed $minimum, mixed $maximum)
Добавляет условие NOT BETWEEN к текущим условиям
<?php $criteria->notBetweenWhere("price", 100.25, 200.50);
public inWhere (mixed $expr, array $values)
Добавляет условие IN к текущим условиям
<?php $criteria->inWhere("id", [1, 2, 3]);
public notInWhere (mixed $expr, array $values)
Добавляет условие NOT IN к текущим условиям
<?php $criteria->notInWhere("id", [1, 2, 3]);
public conditions (mixed $conditions)
Добавляет параметр условий к критериям
public order (mixed $orderColumns)
Добавляет параметр order-by к критериям (устаревший)
public orderBy (mixed $orderColumns)
Добавляет условие order-by к критериям
public groupBy (mixed $group)
Добавляет предложение group-by к критериям
public having (mixed $having)
Добавляет условие having к критериям
public limit (mixed $limit, [mixed $offset])
Добавляет параметр limit к критериям.
<?php $criteria->limit(100); $criteria->limit(100, 200); $criteria->limit("100", "200");
public forUpdate ([mixed $forUpdate])
Добавляет параметр "for_update" к критериям
public sharedLock ([mixed $sharedLock])
Добавляет параметр "shared_lock" к критериям
public cache (array $cache)
Устанавливает параметры кеша в критерии Этот метод заменяет все ранее установленные параметры кеша
public getWhere ()
Возвращает параметр условий в критерии
public string | array | null getColumns ()
Возвращает столбцы для запроса
public getConditions ()
Возвращает параметр условий в критерии
public int | array | null getLimit ()
Возвращает параметр limit в критериях, который будет целым числом, если предел был установлен без смещения, массив с ключами 'number' и 'offset', если смещение было установлено с лимитом, или null, если предел не был установлен.
public getOrderBy ()
Возвращает предложение порядка в критериях
public getGroupBy ()
Возвращает предложение группы по критериям
public getHaving ()
Возвращает предложение о наличии в критериях
public array getParams ()
Возвращает все параметры, определенные в критериях
public static fromInput (Phalcon\DiInterface $dependencyInjector, mixed $modelName, array $data, [mixed $operator])
Строит Phalcon\Mvc\Model\Criteria на основе входного массива типа $_POST
public createBuilder ()
Создает построитель запросов из критериев.
<?php $builder = Robots::query() ->where("type = :type:") ->bind(["type" => "mechanical"]) ->createBuilder();
public execute ()
Выполняет поиск, используя параметры, построенные с критериями