Symfony类没有字段或关联

时间:2015-06-11 08:41:36

标签: php symfony

  • 我在我的数据库中为我的联系人表添加了一个名为的新列 added_date
  • 将此列添加到我的联系人实体班Acme\Entity\Contact $added_date
  • 添加了名为getAddedDate()setAddedDate()

    的get-setters
    class Contact {
    
        private $added_date;
    
        public function __construct()
        {
            $this->added_date = new \DateTime();
        }
    
        public function getAddedDate()
        {
            return $this->added_date;
        }
    
        public function setAddedDate($added_date)
        {
            $this->added_date = $added_date;
            return $this;
        }
    }
    

在我的数据库中,我的联系人类名为added_date,其类型为DATETIME

当我运行这样的DQL查询时: SELECT c.added_date FROM Acme\Entity\Contact c WHERE c.id = :id

我得到[Semantical Error] line 0, col 26 near 'added_date FROM': Error: Class Acme\Entity\Contact has no field or association named added_date

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。由matteo建议,我需要检查我的实体的学说ORM文件。在我的例子中,它位于Resources / config / doctrine / .orm.yml

该列也需要添加。

Acme\Entity\Contact:
    ...
    fields:
        ...
        added_date:
            type:datetime

答案 1 :(得分:0)

您需要在字段声明上方添加以下注释:

/** @ORM\Column(type="datetime") */
private $added_date;

还要确保在课程顶部导入Doctrine,即:

use Doctrine\ORM\Mapping as ORM;

相关Doctrine manual page上列出了更多选项和信息。