diff --git a/help/basic_usage/create_table.md b/help/basic_usage/create_table.md index 814a2f6..fce4f47 100644 --- a/help/basic_usage/create_table.md +++ b/help/basic_usage/create_table.md @@ -30,9 +30,11 @@ namespace App\Models; use goodboyalex\php_db_components_pack\attributes\AutoIncrement; use goodboyalex\php_db_components_pack\attributes\FieldName; +use goodboyalex\php_db_components_pack\attributes\IgnoredInDB; use goodboyalex\php_db_components_pack\attributes\NotNull; use goodboyalex\php_db_components_pack\attributes\PrimaryKey; use goodboyalex\php_db_components_pack\attributes\Unique; +use goodboyalex\php_db_components_pack\enums\DBOperation; use goodboyalex\php_db_components_pack\interfaces\IDBItem; class User implements IDBItem @@ -40,7 +42,7 @@ class User implements IDBItem /** * @var int $Id Идентификатор пользователя. */ - #[PrimaryKey, NotNull, AutoIncrement, FieldName('id'), Unique] + #[PrimaryKey, NotNull, AutoIncrement, FieldName('id'), Unique, IgnoredInDB(DBOperation::Insert)] public int $Id = 0; /** @@ -54,6 +56,19 @@ class User implements IDBItem */ #[NotNull, FieldName('user_mail'), Unique] public string $Email = ''; + + /** + * Конструктор. + * + * @param int $id Идентификатор пользователя + * @param string $name Имя пользователя + * @param string $email Адрес EMAIL + */ + public function __construct(int $id = 0, string $name = "", string $email = "") { + $this->Id = $id; + $this->Name = $name; + $this->Email = $email; + } } ``` diff --git a/help/basic_usage/insert_data.md b/help/basic_usage/insert_data.md index 8dc6739..1f44933 100644 --- a/help/basic_usage/insert_data.md +++ b/help/basic_usage/insert_data.md @@ -4,60 +4,62 @@ научимся добавлять данные в неё. Для добавления одной строки нужно воспользоваться -методом [Insert](../class_desc/classes/Database.md). +методом [Insert](../class_desc/classes/Database.md#51-одинарная-вставка-insert). -Создадим далее макет класса, описывающего пользователя сайта. +Заполним далее класс `User` следующими данными: ```php Insert('users', $oneUser); -class User implements IDBItem -{ - /** - * @var int $Id Идентификатор пользователя. - */ - #[PrimaryKey, NotNull, AutoIncrement, FieldName('id'), Unique] - public int $Id = 0; - - /** - * @var string $Name Имя пользователя. - */ - #[NotNull, FieldName('user_name')] - public string $Name = ''; - - /** - * @var string $Email Почта пользователя. - */ - #[NotNull, FieldName('user_mail'), Unique] - public string $Email = ''; +if ($result === false) + echo "Произошла ошибка!"; +else + echo "Запись добавлена! Идентификатор записи: $result"; +``` + +После этого, таблица в БД примет вид: + +| id | user_name | user_mail | +|:--:|:---------:|:----------------:| +| 1 | Ivan | ivan@example.com | + +Пусть далее, у нас даны несколько записей: + +```php +InsertMany('users', $twoUser, $threeUser, $fourUser); + +if ($result === false) + echo "Произошла ошибка!"; +else { + $idsList = implode(', ', $result); + echo "Записи добавлена! Идентификаторы записей: $idsList"; } ``` -Итак, у нас в таблице должно быть **3 столбца**: +После этого, таблица в БД примет вид: -| id | user_name | user_mail | -|:--:|:---------:|:---------:| -| - | - | - | - -Значения во всех столбцах, кроме `user_name` должны быть уникальными, во всех столбцах не пустыми, а первичным ключом -таблицы является столбец `id` с автозаполнением. - -Теперь давайте создадим таблицу `user`: - -```php -if (!$db->CreateTable('user', "\\App\\Models\\User")) - throw new PDOException("Ошибка создания таблицы: 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 | [Предыдущий пункт](create_table.md) | [На главную](../index.md) | [Следующий пункт](../index.md) \ No newline at end of file