Я создал свою базу данных и таблицы, используя phpMyAdmin.Я также установил там отношения.
Затем я хотел, чтобы Doctrine 2 создала для меня файлы YAML, выполнив следующую команду:
php doctrine orm: convert-mapping -из базы данных yml / path / to / fixtures / schema
И он создал файлы * .dcm.yml и выглядит нормально.Поэтому мне нужно было создать сущности, выполнив следующее:
php доктрина orm: generate-entity / path / to / models
Однако я получаю эту ошибку:
[Doctrine \ ORM \ Mapping \ MappingException] Класс Callers \ dcm не является допустимым объектом или сопоставленным суперклассом.
Я добавил флаг -v и получил это:
Трассировка исключений: () в /Users/me/Sites/project/modules/doctrine2/classes/doctrine/Doctrine/ORM/Mapping/MappingException.php:137 Doctrine \ ORM \ Mapping \ MappingException ::classIsNotAValidEntityOrMappedSuperClass () в /Users/me/Sites/project/modules/doctrine2/classes/doctrine/Doctrine/ORM/Mapping/Driver/YamlDriver.php:55 Doctrine \ ORM \ Mapping \ Driver \ YamlDrita (для)> дляUsers / me / Сайты / project / modules / doctrine2 / classes / doctrine / Doctrine / ORM / Mapping / ClassMetadataFactory.php: 282 Doctrine \ ORM \ Mapping \ ClassMetadataFactory-> loadMetadata () в / Users / me / Sites / project / modules/ doctrine2 / классы / доктрина / доктрина / ОРМ / Mapping / ClassMetadataFactory.php: 176 Doctrine \ ORM \ Mapping \ ClassMetadataFactory-> getMetadataFor () в /Users/me/Sites/project/modules/doctrine2/classes/doctrine/Doctrine/ORM/Mapping/ClassMetadataFactory.php:123 Doctrine \MMapping \ ClassMetadataFactory-> getAllMetadata () в /Users/me/Sites/project/modules/doctrine2/classes/doctrine/Doctrine/ORM/Tools/Console/Command/GenerateEntitiesCommand.php:101 Doctrine \ ORM \ Tools \ Console \ Command\ GenerateEntitiesCommand-> execute () в /Users/me/Sites/project/modules/doctrine2/classes/doctrine/Doctrine/Symfony/Component/Console/Command/Command.php:150 Symfony \ Component \ Console \ Command \ Command-> run () в /Users/me/Sites/project/modules/doctrine2/classes/doctrine/Doctrine/Symfony/Component/Console/Application.php:187 Symfony \ Component \ Console \ Application-> doRun () в / Users/me/Sites/project/modules/doctrine2/classes/doctrine/Doctrine/Symfony/Component/Console/Application.php:113 Symfony \ Component \ Console \ Application-> run () в / Users / me / Sites / project /модули / doctrine2 / бен / доктрина.php: 40 include () в / Users / me / Sites / project / modules / doctrine2 / bin / doctrine: 4
Я пытаюсь заставить Doctrine 2 работать с отношениями MySQL в качестве модуляКохана.Думаю, я бы начал с того, чтобы заставить Doctrine работать, поскольку это действительно сложная часть.
Вот файл YAML, который он создал:
Callers:
type: entity
table: callers
fields:
id:
id: true
type: integer
unsigned: false
nullable: false
generator:
strategy: AUTO
firstname:
type: string
length: 75
fixed: false
nullable: true
lastname:
type: string
length: 75
fixed: false
nullable: true
company:
type: string
length: 75
fixed: false
nullable: true
email:
type: string
length: 150
fixed: false
nullable: true
datecreated:
type: datetime
nullable: false
dateupdated:
type: datetime
nullable: false
address1:
type: string
length: 150
fixed: false
nullable: true
address2:
type: string
length: 150
fixed: false
nullable: true
city:
type: string
length: 100
fixed: false
nullable: true
state:
type: string
length: 50
fixed: false
nullable: true
zip:
type: string
length: 10
fixed: false
nullable: true
Так что же не так?