20250810 v1.0
This commit is contained in:
66
help/basic_usage/update_data.md
Normal file
66
help/basic_usage/update_data.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# Обновление данных
|
||||
|
||||
Итак, в [прошлой статье](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)
|
Reference in New Issue
Block a user