Версия: 6.x
burger close
Класс Request

Подробное описание

Класс предназначен для формирования запроса к БД и получения списка объектов или ссылки на ресурс результата запроса.

Открытые члены

 from ($table, $alias=null)
 
 asAlias ($alias)
 
 join ($table, $condition, $table_alias=null, $type= 'INNER')
 
 issetTable ($table)
 
 leftjoin ($table, $condition, $table_alias=null)
 
 where ($expr, array $values=null, $prefix= 'AND', $in_prefix= 'AND')
 
 whereIn ($field, array $values, $prefix= 'AND', $not=false)
 
 openWGroup ($prefix= 'AND')
 
 closeWGroup ()
 
 limit ($value)
 
 offset ($value)
 
 orderby ($expr, array $values=null)
 
 exec ()
 
 __toString ()
 
 count ()
 
 select ($expression=null)
 
 having ($value, $prefix= 'AND')
 
 groupby ($value)
 
 setReturnClass ($class)
 
 object ($class_name=null)
 
 selectToSql ()
 
 update ($table=null, $ignore=null)
 
 set ($value)
 
 updateToSql ()
 
 delete ($table=null, $ignore=false)
 
 deleteToSql ()
 
 insert ($table, $columns=null, $on_duplicate_key_update=null)
 
 values (array $values, bool $two_dimensional=false)
 
 insertToSql ()
 
 toSql ()
 

Открытые статические члены

static make ()
 

Поля данных

 $select = ''
 
 $ignore = false
 
 $delete
 
 $having
 
 $groupby
 
 $from = ''
 
 $joins
 
 $where
 
 $limit
 
 $offset
 
 $orderby
 
 $set
 
 $columns
 
 $values = ''
 
 $on_duplicate_key_update
 
 $map_obj
 

Защищенные члены

 parseFields ($str)
 
 getReturnClassName ($class_name=null)
 
 getIgnore ()
 

Защищенные данные

 $return_class
 
 $last_action
 
 $action = 'select'
 

Методы

__toString ( )

Перегрузка возврата в представлении в виде строки

Возвращает
string
asAlias (   $alias)

Добавляет alias к последней добавленной таблице. Используется, когда в from передается core объект

Аргументы
string$alias
Возвращает
Request
closeWGroup ( )

Закрывает скобку после окончания условий

Возвращает
$this;
count ( )

Возвращает количество результатов звпроса. Подставляет COUNT(*) в секцию SELECT

Возвращает
int
delete (   $table = null,
  $ignore = false 
)

Добавляет секцию DELETE

Аргументы
mixed$table
bool$ignore- флаг "IGNORE"
Возвращает
Request
deleteToSql ( )

Возвращает SQL запрос DELETE в текстовом виде

exec ( )

Выполняет запрос к базе

Возвращает
DbResult Исключение оставлено на ручной контроль
from (   $table,
  $alias = null 
)

заполняет поле FROM запроса

Аргументы
AbstractObject | string | array$table- имя таблицы или объект ORM
string$alias- псевдоним таблицы
Возвращает
self
getIgnore ( )
protected
getReturnClassName (   $class_name = null)
protected

Возвращает имя класса объектов для выдачи результата запроса

Аргументы
object | string | null$class_name- запрошеный класс возвращаемых объектов
Возвращает
string
Исключения
OrmException
groupby (   $value)

Задает секцию GROUP BY

Аргументы
mixed$value
Возвращает
Request
having (   $value,
  $prefix = 'AND' 
)

Добавляет выражение в секцию HAVING

Аргументы
mixed$value
mixed$prefix
Возвращает
Request
insert (   $table,
  $columns = null,
  $on_duplicate_key_update = null 
)

Добавляет секцию INSERT

Аргументы
AbstractObject | string | array$table- имя таблицы или объект ORM
array | string$columns- список столбцов
array | string$on_duplicate_key_update- список полей, которые будут обновлены если запись существует
Возвращает
self
insertToSql ( )

Возвращает SQL запрос INSERT в текстовом виде

issetTable (   $table)

Возвращает true, если указанная таблица присутствует в части from или join

Аргументы
string | AbstractObject$table- имя таблицы или orm объект
Возвращает
bool
join (   $table,
  $condition,
  $table_alias = null,
  $type = 'INNER' 
)

Добавляет секцию JOIN к запросу

Аргументы
mixed$tableтаблица или Core - объект
mixed$conditionусловие ON
mixed$table_aliasalias к таблице
mixed$typeтип join'а
Возвращает
self
leftjoin (   $table,
  $condition,
  $table_alias = null 
)

Добавляет секцию LEFT JOIN

Аргументы
mixed$table
mixed$condition
mixed$table_alias
Возвращает
self
limit (   $value)

Задает секцию LIMIT можно передать 2 параметра, первый задает смещение, второй количество результатов

Аргументы
mixed$value
Возвращает
Request
static make ( )
static

Возвращает новый экземпляр текущего класса. Предназначен для краткой записи ::make()->from()->exec();

Возвращает
Request
object (   $class_name = null)

Возвращает первый объект в выборке

Аргументы
mixed$class_name
Возвращает
AbstractObject|bool
offset (   $value)

Задает параметр offset секции LIMIT

Аргументы
mixed$value
Возвращает
Request
openWGroup (   $prefix = 'AND')

Открывает скобку перед началом условия

Аргументы
mixed$prefix
Возвращает
Request
orderby (   $expr,
array  $values = null 
)

Задает секцию ORDER BY

Аргументы
string$expr
array$valuesмассив со значениям, заменит "-КЛЮЧ-" из expr на ЗНАЧЕНИЕ
Возвращает
Request
parseFields (   $str)
protected

Возвращает только имена колонок по порядку без лишних знаков Может парсить поля вида: V.field => field base.table.field => field COUNT(*) as field2 => field2 original as 'newfield' => newfield

Аргументы
string$str- строка со списком колонок
Возвращает
string[]
select (   $expression = null)

Заполняет секцию select у запроса

Аргументы
mixed | mixed$expression,$expression,....
Возвращает
Request
selectToSql ( )

Возвращает SQL запрос SELECT в текстовом виде

set (   $value)

Добавляет секцию SET (в UPDATE)

Аргументы
mixed$value
Возвращает
Request
setReturnClass (   $class)

Задает класс возвращаемых объектов

Аргументы
string | AbstractObject$class
Возвращает
Request
toSql ( )

Возвращает SQL зарос исходя из заданного раннее типа SELECT, UPDATE, DELETE,...

update (   $table = null,
  $ignore = null 
)

Задает секцию UPDATE

Аргументы
string  |  array$table
boolean  |  null$ignore
Возвращает
Request
updateToSql ( )

Возвращает SQL запрос UPDATE в текстовом виде

values ( array  $values,
bool  $two_dimensional = false 
)

Добавляет секцию VALUES

Аргументы
array$values- значения
bool$two_dimensional- флаг того что передан двумерный массив значений
Возвращает
$this
where (   $expr,
array  $values = null,
  $prefix = 'AND',
  $in_prefix = 'AND' 
)

Дополняет секцию WHERE

Аргументы
array | string$exprвыражение WHERE.
array$valuesмассив со значениям, заменит "-КЛЮЧ-" из expr на ЗНАЧЕНИЕ
string$prefixбудет подставлено перед текущим выражением AND, OR,...
string$in_prefixбудет подставлено между выражениями, в случае если expr - массив AND, OR,...
Возвращает
Request
whereIn (   $field,
array  $values,
  $prefix = 'AND',
  $not = false 
)

Дополняет секцию WHERE условием "WHERE IN"

Аргументы
string$fieldназвание колонки
array$valuesзначения
string$prefixбудет подставлено перед текущим выражением AND, OR,...
bool$not- отрицание
Возвращает
Request

Поля

$action = 'select'
protected
$columns
$from = ''
$ignore = false
$joins
$last_action
protected
$map_obj
$on_duplicate_key_update
$return_class
protected
$select = ''
$set
$values = ''