Query

Материал из Micro PHP Framework
Перейти к: навигация, поиск

Query - построитель запросов. С его помощью можно в более простом виде собирать запросы к базе данных, просматривать их и запускать на выполнение.

Query API

Поля

  • $conn - Ваше соединение с базой данных
  • $select - Список необходимых полей
  • $distinct - Уникальность выбранных строк
  • $where - доступ к условиям запроса
  • $join - доступ к связкам запроса
  • $order - Сортировка
  • $group - Группировка результата
  • $having - Выборка из прошедших условия строк
  • $limit - Количество извлекаемых строк
  • $ofset - Смещение начала выбора
  • $params - Список маскированных параметров запроса
  • $table - Название таблицы (модели указывают сами)
  • $objectName - Название объекта строк результата (если надо)
  • $single - Ожидается один или несколько строк в результате

Методы

  • __construct() - Конструктор не принимает параметры, вызывает получение соединения
  • getDbConnection() - Получаем текущее соединение с базой из MRegistry
  • addWhere($sql, $operand = 'AND') - Добавить условие прописанное вручную
  • addSearch($column, $keyword, $escaped = false, $operand = 'AND') - Добавить условие поиска символов в столбце с/без экранированием
  • addNotSearch($column, $keyword, $escaped, $operand = 'AND') - Добавить исключающее условие поиска в столбце с/без экранированием
  • addIn($column, $params, $operand = 'AND') - Добавить условие поиска значения в под-запросе или массиве параметров
  • addNotIn($column, $params, $operand = 'AND') - Добавить исключающее условие поиска в под-запросе или массиве параметров
  • addBetween($column, $start, $stop, $operand = 'AND') - Добавить условие поиска в разрезе значений
  • addNotBetween($column, $start, $stop, $operand = 'AND') - Добавить исключающее условие поиска в разрезе значений
  • addJoin($table, $condition, $type = 'LEFT') - Добавляет соединение с внешней таблицей
  • getQuery() - Возвращает текущую конфигурацию запроса
  • run($as = PDO::FETCH_CLASS) - Запускает запрос на выполнение и возвращает результат в выбранном виде

Примеры


<?php
$query 
= new Query;
$query->distinct true// уникальность
$query->select '*'// весь результат
$query->table 'users u'// таблица юзеров
$query->addJoin('profiles p','p.user_id=u.id'); // внешняя таблица профилей
$query->addWhere('u.id=:user_id'); // условие по юзерам
$query->params = array('user_id' => 10); // 10 взято для примера
$query->order 'u.name ASC'// сортировка результата
$query->single false// вернуть результат как массив строк
$result $query->run(PDO::FETCH_ASSOC); // тип строк - ассоциативный массив