This commit is contained in:
2025-08-07 18:06:55 +03:00
parent eeea57209e
commit d132832d28
34 changed files with 1231 additions and 286 deletions

View File

@@ -0,0 +1,55 @@
# Атрибут `ForeignKey`
Атрибут `ForeignKey` предназначен для указания внешних связей (foreign keys) между полями модели и другими таблицами в
базе данных. Он позволяет явно задать отношения между сущностями и улучшить навигацию по связанным данным.
## Основное назначение
Атрибут используется для явного указания внешнего ключа, который связывает одно поле модели с полем в другой таблице
базы данных. Это особенно полезно, когда необходимо показать отношение "один ко многим" или "многие ко многим".
## Пример использования атрибута
Допустим, у вас есть модель данных, описывающая продукты, и вы хотите указать внешнюю связь с таблицей категорий
продуктов:
```php
use goodboyalex\php_db_components_pack\attributes\ForeignKey;
final class Product
{
#[ForeignKey(table: 'categories', fieldName: 'category_id')]
private int $CategoryId;
// Остальные поля и геттеры/сеттеры...
}
```
В данном примере атрибут `#[ForeignKey]` применяется к полю `$CategoryId`, явно указывая, что оно связано с полем
`category_id` в таблице `categories`.
## Пространство имён
Атрибут объявлен в пространстве имён:
```php
namespace goodboyalex\php_db_components_pack\attributes;
```
## Версии и автор
- **Автор**: Александр Бабаев
- **Версия**: 1.0
- **Дата выпуска**: с версии 1.0
## Особенности
- **Применяется только к полям (properties)** Атрибут используется исключительно для аннотирования полей классов,
которые соответствуют внешним ключам базы данных.
## Когда использовать атрибут?
Атрибут `ForeignKey` полезен, когда необходимо указать внешние связи между двумя таблицами базы данных. Он помогает
строить полноценные графы отношений и упростить навигацию по данным.
[На главную](../../index.md)