Я работаю над проектом Symfony 1.4, который использует Doctrine 1.2. Я хочу добавить некоторые пользовательские свойства для полей внутри моего schema.yml. Цель этого состоит в том, чтобы повторно использовать schema.yml в другом месте, отличном от Doctrine, чтобы поддерживать некоторые метаданные о сущности. Я пытался добавить CustomProperty как я показал в приведенном ниже примере.
TestEntity:
tableName: test_table
columns:
id:
type: integer(4)
primary: true
autoincrement: true
name:
type: string(200)
customproperty: true
Но когда я попытался сделать модель построения доктрины, теперь она не дает ошибку следующим образом.
"Invalid schema element named "customproperty" at path "TestEntity->columns->name""
Я проверил файл schema.php в следующем месте, чтобы отладить ошибку.
symfony/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Import/Schema.php
Эта ошибка возникает из-за того, что указанное нами пользовательское свойство отсутствует в «$ _validation«массив. Как только я добавил» customproperty «в этот массив, он перестал выдавать ошибку.
Но то, что я сделал, было взломом библиотеки доктрины, и есть ли какой-нибудь другой лучший способ добиться этого, не касаясь файлов библиотеки.
Задача ещё не решена.
Других решений пока нет …