Задача Doctrine2: у меня есть OneToMany, но НЕ ManyToOne,Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Задача Doctrine2: у меня есть OneToMany, но НЕ ManyToOne,

Сообщение Anonymous »

У вас должна быть система обмена сообщениями, в которой сообщения могут относиться к консультации, но это не обязательно. Однако во всех консультациях есть одно или несколько сообщений...
Мои объекты были созданы Doctrine автоматически, но вендор/bin/doctrine-module orm:validate-schema завершается с ошибкой печально...
vendor/bin/doctrine-module orm:validate-schema
[Mapping] FAIL - The entity-class 'Legetimen\Entity\Konsultasjon' mapping is invalid:
* The association Legetimen\Entity\Konsultasjon#meldinger refers to the owning side field Legetimen\Entity\Meldinger#konsulatsjon which is not defined as association, but as field.
* The association Legetimen\Entity\Konsultasjon#meldinger refers to the owning side field Legetimen\Entity\Meldinger#konsulatsjon which does not exist.

[Database] FAIL - The database schema is not in sync with the current mapping file.

Определение рассматриваемых ассоциаций:
Из сообщений/Мельдингера:
/**
* @var integer
*
* @ORM\Column(name="konsulatsjon", type="integer", precision=0, scale=0, nullable=true, unique=false)
* @ORM\ManyToOne(targetEntity="Konsultasjon", inversedBy="konsultasjonid")
*/
private $konsulatsjon;

Из моей «Родительской» консультации:
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\OneToMany(targetEntity="Legetimen\Entity\Meldinger", mappedBy="konsulatsjon", cascade={"persist"}, fetch="EAGER")
*/
private $meldinger;

Моя консультация сопоставлена ​​с внешним триггером, но не мои сообщения (потому что многие консультации имеют значение NULL).
Кроме того, меня очень мало Можно поделать с орфографией, так как это устаревшее и довольно запутанное приложение...
Пожалуйста, дайте мне знать, если вам понадобится что-нибудь еще, и буду очень признателен за любую помощь.
[EDIT]
Удалены @var и @column в сообщениях (Meldinger), как было предложено в комментариях, в результате получился следующий результат:
vendor/bin/doctrine-module orm:validate-schema
[Mapping] FAIL - The entity-class 'Legetimen\Entity\Konsultasjon' mapping is invalid:
* The mappings Legetimen\Entity\Konsultasjon#meldinger and Legetimen\Entity\Meldinger#konsulatsjon are inconsistent with each other.

[Mapping] FAIL - The entity-class 'Legetimen\Entity\Meldinger' mapping is invalid:
* The association Legetimen\Entity\Meldinger#konsulatsjon refers to the inverse side field Legetimen\Entity\Konsultasjon#konsultasjonid which is not defined as association.
* The association Legetimen\Entity\Meldinger#konsulatsjon refers to the inverse side field Legetimen\Entity\Konsultasjon#konsultasjonid which does not exist.
* The referenced column name 'id' has to be a primary key column on the target entity class 'Legetimen\Entity\Konsultasjon'.

[Doctrine\ORM\ORMException]
Column name `id` referenced for relation from Legetimen\Entity\Meldinger towards Legetimen\Entity\Konsultasjon does not exist.

orm:validate-schema

Идентификатор консультации:
/**
* @var integer
*
* @ORM\Column(name="konsultasjonid", type="integer", precision=0, scale=0, nullable=false, unique=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $konsultasjonid;

Идентификатор сообщения / Мелдингер
/**
* @var integer
*
* @ORM\Column(name="meldingerid", type="integer", precision=0, scale=0, nullable=false, unique=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $meldingerid;


Подробнее здесь: https://stackoverflow.com/questions/274 ... -manytoone
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»