# Обновление данных Итак, в [прошлой статье](count_exist_data.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](../class_desc/classes/Database.md#81-обновление-одной-записи-update): ```php // Давайте получим сперва пользователя $user = $db->GetRow('users', where: new ConditionBuilder()->WhereEquals('user_name', 'Olga'), className: "\\App\\Models\\User"); // Меняем почту $user->Email = 'olga@ya.ru' if ($db->Update('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`. Для этого нам потребуется метод [UpdateMany](../class_desc/classes/Database.md#82-обновление-нескольких-записей-updatemany): ```php // Давайте сперва получим Ivan $userIvan = $db->GetRow('users', where: new ConditionBuilder()->WhereEquals('user_name', 'Ivan'), className: "\\App\\Models\\User"); // Давайте сперва получим Nikolay $userNikolay = $db->GetRow('users', where: new ConditionBuilder()->WhereEquals('user_name', 'Nikolay'), className: "\\App\\Models\\User"); // Меняем их почту $userIvan->Email = "ivan@yandex.ru"; $userNikolay->Email = "nikolay@yandex.ru"; // Обновляем if ($db->UpdateMany('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 | Итак, мы рассмотрели все возможные способы обновления данных. [Предыдущий пункт](count_exist_data.md) | [На главную](../index.md) | [Следующий пункт](delete_data.md)