2016-07-07 5 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; 

nach PHP-app/console Lehre existiert: schema: Validierung einen FehlerDie Vereinigung Entity Specialists # Bilder bezieht sich auf den Besitz Seitenfeld Application Sonata MediaBundle Entity Media # spec, die nicht

[Zuordnung] FAIL - Die Zuordnung der Entitätsklasse 'Specialists \ SpecialistsBundle \ Entity \ Specialists' ist ungültig: * Der Verbund Specialists \ SpecialistsBundle \ Entity \ Specialists # images verweist auf das besitzende Seitenfeld Application \ Sonata \ MediaBundle \ Entity \ Media # spec, die nicht existiert.

ich eine Antwort schätzen würde

+0

Waren Sie schon in klaren Cache bewiesen zu aktualisieren? 'php app/console cache: clear' – Edu

+0

ja ich mache php app/console cache: löschen –

Antwort

1

Medienbündel ursprünglich verwendet das XML-Format vielleicht müssen Sie Ihre Medien Entitätszuordnung Informationen definieren, indem XML-Konfigurationsdatei

dies,

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

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

versuchen Modifizieren dann ändere die xml-Konfigurationsdatei, die sich anfänglich unter: "src/Application/Sonata/MediaBundle/Resources/config/doctrine/Media.orm.xml" befindet. Es ist etwas, das aussieht wie

<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> 

Dann versuchen Sie Ihre Lehre Schema

Verwandte Themen