This commit is contained in:
2025-08-08 19:02:18 +03:00
parent 819a305fde
commit caf65933d1
5 changed files with 236 additions and 5 deletions

View File

@@ -0,0 +1,63 @@
# Вставка данных
Итак, в [прошлой статье](create_table.md) мы создали таблицу `users` в базе данных. Но она пока пуста. Далее, мы
научимся добавлять данные в неё.
Для добавления одной строки нужно воспользоваться
методом [Insert](../class_desc/classes/Database.md).
Создадим далее макет класса, описывающего пользователя сайта.
```php
<?php
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\NotNull;
use goodboyalex\php_db_components_pack\attributes\PrimaryKey;
use goodboyalex\php_db_components_pack\attributes\Unique;
use goodboyalex\php_db_components_pack\interfaces\IDBItem;
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 = '';
}
```
Итак, у нас в таблице должно быть **3 столбца**:
| id | user_name | user_mail |
|:--:|:---------:|:---------:|
| - | - | - |
Значения во всех столбцах, кроме `user_name` должны быть уникальными, во всех столбцах не пустыми, а первичным ключом
таблицы является столбец `id` с автозаполнением.
Теперь давайте создадим таблицу `user`:
```php
if (!$db->CreateTable('user', "\\App\\Models\\User"))
throw new PDOException("Ошибка создания таблицы: users");
```
Таблица создана.
[Предыдущий пункт](create_table.md) | [На главную](../index.md) | [Следующий пункт](../index.md)