2016-07-07 4 views
-2
class Media extends BaseMedia 

    /** 
* @var Specialists 
* 
* @ORM\ManyToOne(targetEntity="Specialists", inversedBy="images") 
* @ORM\JoinColumns({ 
*  @ORM\JoinColumn(name="spec", referencedColumnName="id") 
* }) 
*/ 
private $spec; 

class Specialists 

    /** 
* @var Media 
* 
* @ORM\OneToMany(targetEntity="Application\Sonata\MediaBundle\Entity\Media", mappedBy="spec") 
* @ORM\JoinColumns({ 
* @ORM\JoinColumn(name="images", referencedColumnName="id") 
* }) 
*/ 
private $images; 

после PHP приложения доктрины/консоли: схема: проверить ошибкуАссоциации Entity Специалисты # изображения относится к владеющему области боковой Application соната MediaBundle Entity Media # спецификация, которая не существует

[Отображение] FAIL - Отображение сущности класса «Специалисты \ СпециалистыБандл \ Сущность \ Специалисты» недействительно: * Изображения ассоциации Specialists \ SpecialistsBundle \ Entity \ Specialists # относятся к полем для владеющих приложений Application \ Sonata \ MediaBundle \ Entity \ Media # spec, которого не существует.

Я был бы признателен за ответ

+0

Вы оказались кеш? 'php app/console cache: clear' – Edu

+0

yes Я делаю php app/console cache: clear –

ответ

1

медиа-пакет изначально использует формат XML, может быть, вы должны определить проинформированым отображения медиа-объекта путем изменения XML-файл конфигурации

попробовать это,

class Media extends BaseMedia 
{ 
    /* 
    * .... 
    */ 
    private $spec; 

    //others attributes, getters and setters there 
    // ... 
} 

затем измените конфигурационный файл xml, первоначально расположенный по адресу: «src/Application/Sonata/MediaBundle/Resources/config/doctrine/Media.orm.xml» Это что-то похожее как

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> 
    <entity 
     name="Application\Sonata\MediaBundle\Entity\Media" 
     table="media__media" 
     > 

     <id name="id" type="integer" column="id"> 
      <generator strategy="AUTO"/> 
     </id> 
     <!-- then you add this --> 
     <many-to-one field="spec" target-entity="\path-to\Specialists" inversed-by="images"> 
      <join-column name="spec" referenced-column-name="id" /> 
     </many-to-one> 
     <!-- end --> 
    </entity> 
</doctrine-mapping> 

Затем попробуйте обновить учение схемы