请有人帮我这个。我一直收到这个错误,我不知道为什么。 [语义错误]第0行,第75行附近' startDate AS':错误:类com \ twcl \ agripayrollBundle \ Entity \ Payrollperiod没有名为startDate的字段或关联。即使我已将其更改为更正名称并清除缓存。
public function getAllActivePayrollPeriods($em) {
// $em = $this->getDoctrine()->getManager();
$repository = $em->getRepository('comtwclagripayrollBundle:Payrollperiod');
$payrollperiods = $repository->createQueryBuilder('p')
->orderBy('p.startdate', 'ASC')
->getQuery()->getResult();
return $payrollperiods;
}
实体
private $startdate;
public function getStartdate() {
return $this->startdate;
}
public function setStartdate(\DateTime $startdate) {
$this->startdate = $startdate;
}
答案 0 :(得分:1)
$startdate
未映射到实体。
尝试在XML中添加一行:
<field name="startdate" type="datetime" column="startdate" nullable="false"/>
然后重新生成实体并更新数据库架构。 Symfony3:
php bin/console doctrine:generate:entities MyBundle
php bin/console doctrine:schema:update --force
Symfony2的:
php app/console doctrine:generate:entities MyBundle
php app/console doctrine:schema:update --force
我发现使用注释进行映射更容易,因此您可以在同一个文件中工作。