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