Работа с БД: различия между версиями

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 11: Строка 11:
   'email' => 'valera@yandex.ru'
   'email' => 'valera@yandex.ru'
  ]);
  ]);
 
`name и email - поля в таблице users`
`name и email - поля в таблице users`


Чтобы обновить запись
Чтобы обновить запись
  $model->updateItem($fields, $where);
  $model->updateItem($fields, $where);
 
  $model->updateItem([
  $model->updateItem([
     'name'=>'Герман'
     'name'=>'Герман'
Строка 24: Строка 24:
Чтобы получить ячейку
Чтобы получить ячейку
  $model->s_fetchOne("select name from public.users where id=".(int)$this->params['id'])
  $model->s_fetchOne("select name from public.users where id=".(int)$this->params['id'])
 
  или
  или
 
  $model->get("name","id=".(int)$this->params['id']);
  $model->get("name","id=".(int)$this->params['id']);


Строка 33: Строка 33:
Чтобы получить строку
Чтобы получить строку
  $userData = $model->getRow("id=".(int)$this->params['id']);
  $userData = $model->getRow("id=".(int)$this->params['id']);
 
  или
  или
 
  $userData = $model->s_fetchRow("select * from users where id=".(int)$this->params['id']);
  $userData = $model->s_fetchRow("select * from users where id=".(int)$this->params['id']);


Строка 41: Строка 41:
Чтобы получить набор строк
Чтобы получить набор строк
  $users = $model->getAll("name='valera'")
  $users = $model->getAll("name='valera'")
 
  или
  или
   
   
  $users = $model->s_fetchAll("select * from users where name='valera'");
  $users = $model->s_fetchAll("select * from users where name='valera'");

Версия от 12:49, 13 сентября 2022

Работа с БД организована через класс ormModel (/cms/system/ormModel.php), который расширяет /cms/system/dbModel.php


Если нам надо осуществить какие-то действия с таблицей users, схемы public - инициируем класс

$model = ormModel::init('public','users');

Чтобы добавить новую записсь - вызываем

$model->newItem([
  'name' => 'Валера',
  'email' => 'valera@yandex.ru'
]);

`name и email - поля в таблице users`

Чтобы обновить запись

$model->updateItem($fields, $where);

$model->updateItem([
   'name'=>'Герман'
], 'id='.(int)$this->params['id']);


Чтобы получить ячейку

$model->s_fetchOne("select name from public.users where id=".(int)$this->params['id'])

или

$model->get("name","id=".(int)$this->params['id']);


Чтобы получить строку

$userData = $model->getRow("id=".(int)$this->params['id']);

или

$userData = $model->s_fetchRow("select * from users where id=".(int)$this->params['id']);


Чтобы получить набор строк

$users = $model->getAll("name='valera'")

или

$users = $model->s_fetchAll("select * from users where name='valera'");