【问题标题】:The association \Entity\Specialists#images refers to the owning side field Application\Sonata\MediaBundle\Entity\Media#spec which does not exist关联 \Entity\Specialists#images 是指不存在的拥有方字段 Application\Sonata\MediaBundle\Entity\Media#spec
【发布时间】:2016-11-09 14:42:00
【问题描述】:
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 应用程序/控制台原则之后:架构:验证错误

[映射] FAIL - 实体类 'Specialists \ SpecialistsBundle \ Entity \ Specialists' 映射无效: * 关联 Specialists\ExpertsBundle\Entity\Experts#images 指不存在的拥有方字段 Application\Sonata\MediaBundle\Entity\Media#spec。

希望得到答复

【问题讨论】:

  • 您是否已证明可以清除缓存? php app / console cache:clear
  • 是的,我做 php 应用程序/控制台缓存:清除

标签: symfony doctrine sonata sonata-media-bundle


【解决方案1】:

media bundle 最初使用 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>

然后尝试更新您的学说架构

【讨论】:

    猜你喜欢
    • 2017-03-23
    • 2023-03-25
    • 2013-05-22
    • 2019-07-05
    • 1970-01-01
    • 2015-04-29
    • 2019-09-10
    • 2022-01-08
    • 2013-11-17
    相关资源
    最近更新 更多