2025-08-10 11:48:29 +03:00

3.0 KiB
Raw Permalink Blame History

Обновление данных

Итак, в прошлой статье мы рассмотрели способы проверки существования данных и подсчёта количества данных по условию из таблицы 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:

// Давайте получим сперва пользователя
$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:

// Давайте сперва получим 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

Итак, мы рассмотрели все возможные способы обновления данных.

Предыдущий пункт | На главную | Следующий пункт