Php Symfony类无字段或关联 我在数据库中为联系人表添加了一个新列,名为 添加日期 将此列添加到我的联系人实体类Acme\entity\contact$added\u date
添加了名为Php Symfony类无字段或关联 我在数据库中为联系人表添加了一个新列,名为 添加日期 将此列添加到我的联系人实体类Acme\entity\contact$added\u date,php,symfony,Php,Symfony,添加了名为getAddedDate()和setAddedDate() 在我的数据库中,我有一个名为added\u date的contact类,它的类型是DATETIME 当我像这样运行DQL查询时: 从Acme\Entity\Contact c选择c.Add\u日期 其中c.id=:id 我得到“added_date FROM”附近第26列第0行的[语义错误]:错误:Class Acme\Entity\Contact没有名为added_date的字段或关联您需要在字段声明上方添加以下注释:
getAddedDate()
和setAddedDate()
在我的数据库中,我有一个名为added\u date
的contact类,它的类型是DATETIME
当我像这样运行DQL查询时:
从Acme\Entity\Contact c选择c.Add\u日期
其中c.id=:id
我得到“added_date FROM”附近第26列第0行的
[语义错误]:错误:Class Acme\Entity\Contact没有名为added_date的字段或关联
您需要在字段声明上方添加以下注释:
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;
}
}
/** @ORM\Column(type="datetime") */
private $added_date;
还要确保您在类的顶部导入了条令,即:
use Doctrine\ORM\Mapping as ORM;
更多选项和信息列在相关列表中。我找到了解决方案。根据matteo的建议,我需要检查我的实体的条令ORM文件。在我的例子中,它位于Resources/config/doctrine/.orm.yml 该列也需要添加到那里
Acme\Entity\Contact:
...
fields:
...
added_date:
type:datetime
如果您尝试
选择c.addedate…
,会怎么样?您可以发布实体ORM定义吗?yml/annotation?@Matteo感谢Matteo提出这个问题,这就是问题所在Hi@AngeloA我们如何结束您的回答?您将发布解决方案并将问题标记为已解决,或者我发布一个建议检查条令ORM文件定义的答案?@Matteo我可以在2天内完成此操作。如果您使用条令批注,这确实是正确的。