В Doctrine, для задания имени поля в таблице БД для embedded-поля, вы можете использовать аннотацию @ORMColumn
. Embedded-поле представляет собой объект, который может содержать внутри себя другие свойства и ассоциации.
Для того, чтобы задать имя поля в таблице БД для embedded-поля, вы должны указать имя поля в аннотации @ORMColumn
, которая будет размещена над свойством, представляющим embedded-поле. Например:
use DoctrineORMMapping as ORM; /** * @ORMEntity */ class User { // ... /** * @ORMEmbedded(class="Address") */ private $address; // ... } /** * @ORMEmbeddable */ class Address { /** * @ORMColumn(name="street_name", type="string") */ private $streetName; // ... }
В приведенном примере, для embedded-поля $address
класса User
указана аннотация @ORMEmbedded
. Для свойства $streetName
класса Address
указана аннотация @ORMColumn
с параметром name="street_name"
, где street_name
- это желаемое имя поля в таблице БД для данного свойства embedded-поля.
Таким образом, при генерации схемы БД с использованием Doctrine, будет создано поле с именем street_name
в таблице, соответствующей классу User
.
Надеюсь, данное объяснение является полезным и поможет вам разобраться с заданием имени поля в таблице БД для embedded-поля в Doctrine.