step 1 ($tb — название таблицы)
create($tb=null) – создание таблицы
insert($tb=null) – запись в таблицу
delete($tb=null) — удаление записи
update($tb=null,$p=null) — обновление таблицы, $p строка запроса типа «поле='значение',поле='значение'»
table($tb=null,$f=null) – вывод из таблицы, $f (fields) – поля для вывода, если не указан выводятся все поля
trun($tb=null) — очистка таблицы
drop($tb=null) – удаление таблицы
step 2 ($p – название поля)
where($w=null,$and=null,$group=null) выборка значений (условие если)
$w – строка типа «поле=значение» или массив array(“поле“=>”значение“)
ключ может содержать маску:
array(“!id“=>5) – id!=5
array(“>p“=>5,”<s”=>7) – p>5 и s <7
array(“%text“=>'слово') – text содержит 'слово'
array(“^text“=>'слово') – text начинается с 'слово'
array(“$text“=>'слово') – text заканчивается 'слово'
array(“!text“=>'слово') – text не содержит 'слово'
$and – и,или, по умолчанию «и»
$group – 1 вместо where выражение закрывается в скобки (поле1=2 and поле2='text'), используется только вместе с where(),orf(),andf()
2 - вместо where выражение остается без изменений, используется только вместе с where(),orf(),andf()
where() - добавляет в запрос WHERE
andf() - добавляет в запрос AND
orf() - добавляет в запрос OR
join($arr) – оператор JOIN (выполняет сравнение на соответствие условию между таблицами)
$arr – array('table1', //1 таблица
array('field1','field2'), // поля 1 таблицы поддерживает маски как в where- (!,<,>)
'table2', //2 таблица
array('field1','field2'), //поля 2 таблицы
'L'); //необязательное
I – inner join (по умолчанию)
L – left join
R – right join
O – outher join
C – cross join
F – full join
пример: array('role',array('id'),'user_inc',array('id'),'L');
return $this->core->table('role')->join($arr)->eq();
like($wp=null,$w=null) — более быстрый поиск like,
$wp – массив значений полей, либо строка с значением,
$w – массив полей, либо строка с полем
whereArr($wp=null,$w=null) - более быстрый поиск =,
$wp – массив значений полей, либо строка с значением,
$w – массив полей, либо строка с полем
insert_arr($arr=null) – массив значений для записи array('поле'=>'значение')
field($name,$value) – добавляет создание поля, работают все поля из настроек $FS→orm[драйвер]
*драйвер orm может быть lite,mysql,pgsql
key($p=null) — создает первичный ключ
limit($f=null,$limit=null,$prev=null) - сортировка DESC
$f – строка поле сортировки,
$limit – количество записей
$prev – номер записи с которой начать
limita($f=null,$limit=null,$prev=null) - сортировка ASC
$f – строка поле сортировки,
$limit – количество записей
$prev – номер записи с которой начать
lim($limit=null,$prev=null) сортировка DESC
$limit – количество записей
$prev – номер записи с которой начать
sorts($sp=null,$s=null)
$sp – поле сортировки
$s – сортировка asc или desc
one($p=null)
$p – поле сортировки, выводит одно значение, сортировка DESC
group($f=null)
группирует, $f – поле по которому произойдет группировка
cq($echo=null) — добавляет формат InnoDB и кодировку utf8 для таблицы
Step 3
query() - выполняет запрос к базе данных
q() - выполняет запрос prepare – результат объект orm
forq($field_key,$field_value) - выполняет запрос результат массив значений, ключи поля таблицы, и номера, то есть структура вида array(0=>array(0=>1,id=>1,1=>text,name=>text));
Аргументы метода являются необязательными,
$field_key — строка(поле таблицы)
$field_value — строка или массив(поле или поля таблицы)
если они указаны, то выводится массив с ключами значениями поля $field_key и значениями равными значениям поля $field_value, если $field_value является массивом, то значением поля $field_key будет массив значений.
eq() - выводит строку запроса (для тестирования)
c($count=null,$param=array()) - выводит количество затронутых строк в запросе:
$count - если указана переменная не null будет выполнен метод fetchColumn(), если не указана или null rowCount()
$param - если $param = ['S'=>true] - экранирование " не будет выполнено,
используется в основном для поиска в сериализованных или json данных