руководство/7. Обновление данных.md
Обновление данных
Итак, в прошлой статье мы получали данные из таблицы users. Напомним, что она имеет вид:
| id | user_name | user_mail |
|---|---|---|
| 1 | Ivan | ivan@example.com |
| 2 | Olga | olga@example.com |
| 3 | Oleg | oleg@mail.ru |
| 4 | Nikolay | nikolay@example.com |
Попробуем теперь изменить почту пользователя Olga. Для этого воспользуемся методом update->one:
// Давайте получим сперва пользователя
$user = $db->select->row('users', where: new ConditionBuilder()->whereEquals('user_name', 'Olga'), className: "\\App\\Models\\User");
// Меняем почту
$user->email = 'olga@ya.ru'
if ($db->update->one('users', $user))
echo 'Почта Ольги обновлена!';
Теперь таблица в БД имеет вид:
| id | user_name | user_mail |
|---|---|---|
| 1 | Ivan | ivan@example.com |
| 2 | Olga | olga@ya.ru |
| 3 | Oleg | oleg@mail.ru |
| 4 | Nikolay | nikolay@example.com |
Давайте теперь обновим оставшихся пользователей, у которых почта на домене example.com. Для этого нам потребуется метод update->many:
// Давайте сперва получим Ivan
$userIvan = $db->select->row('users', where: new ConditionBuilder()->WhereEquals('user_name', 'Ivan'), className: "\\App\\Models\\User");
// Давайте сперва получим Nikolay
$userNikolay = $db->select->row('users', where: new ConditionBuilder()->WhereEquals('user_name', 'Nikolay'), className: "\\App\\Models\\User");
// Меняем их почту
$userIvan->email = "ivan@yandex.ru";
$userNikolay->email = "nikolay@yandex.ru";
// Обновляем
if ($db->update->many('users', $userIvan, $userNikolay))
echo 'Почты обновлены!';
Теперь таблица в БД имеет вид:
| id | user_name | user_mail |
|---|---|---|
| 1 | Ivan | ivan@yandex.ru |
| 2 | Olga | olga@ya.ru |
| 3 | Oleg | oleg@mail.ru |
| 4 | Nikolay | nikolay@yandex.ru |
Итак, мы рассмотрели все возможные способы обновления данных.