【问题标题】:Symfony2 entity attributes are ignoredSymfony2 实体属性被忽略
【发布时间】:2016-01-26 12:59:02
【问题描述】:

我在 Symfony2 中遇到了一个奇怪的行为。

我有一个实体代表我的应用程序中的文档。此实体通过多对一关系链接到其他两个实体。
这是课程:

实体\Document.php

namespace Acem\APPBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity
 * @ORM\Table(name="documents")
 */
class Document
{
    /** 
     * @ORM\Id()
     * @ORM\ManyToOne(targetEntity="Resource", inversedBy="documents") 
     * @ORM\JoinColumn(name="resource_id", referencedColumnName="id", nullable=false) 
     */
    protected $resource;

    /** 
     * @ORM\Id()
     * @ORM\ManyToOne(targetEntity="User", inversedBy="documents") 
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false) 
     */
    protected $owner;

    /**
     * ORM\Column(type="boolean")
     */
    protected $enabled;

    /**
     * ORM\Column(type="string")
     */
    protected $title;

    /**
     * ORM\Column(type="int")
     */
    protected $value;

}

我的问题是,学说只生成一个包含两列 resource_iduser_id 的表,但其他字段被完全忽略。
当我使用doctrine:generate:entities 时也会发生同样的事情,getter / setter 仅针对具有 ManyToOne 关系的两个属性生成,但其他属性似乎不存在于 Doctrine。

什么可能导致这种奇怪的行为以及如何解决它?

谢谢

【问题讨论】:

  • 在做某事之前,您是否尝试过调用 app/console 学说:缓存:清除元数据?它可能与学说缓存相关......
  • 是的,但它不会改变任何东西。
  • 噢,请在ORM\Column之前为每个字段添加@符号

标签: php symfony doctrine-orm entity


【解决方案1】:

为每个字段引用添加一个@ 符号。它看起来像@ORM\Column...

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多