在使用doctrine来执行DQL的简单请求时,我遇到了一些麻烦。 在我的代码中找不到任何错误,所以我在这里问我的问题。
这是我试图执行的dcotrine查询:
$em->createQueryBuilder()->select('p')
->from('\lib\models\HarvestPage', 'p')
->where('(p.start_hp + ?1 <= p.end_hp OR p.end_hp = 0) AND p.label_hp NOT IN (SELECT r.label_hp FROM \lib\models\HarvestRequest r)')
->setMaxResults(1)
->setParameter(1, $nbPages)
->getQuery()
->useResultCache(false)
->getOneOrNullResult();
它抛出了我这个例外:
[Semantical Error] line 0, col 49 near 'start_hp + ?1': Error: Class lib\models\HarvestPage has no field or association named start_hp
最后,HarvestPage实体:
namespace lib\models;
/**
* @Entity
* @Table(name="harvest_page")
*/
class HarvestPage {
/** @Id @Column(type="string", length=25) */
private $label_hp;
/** @Column(type="string", length=200, nullable=false) */
private $link_hp;
/** @Colum(type="smallint", nullable=false) */
private $start_hp;
/** @Colum(type="smallint", nullable=false) */
private $end_hp;
}
正确创建并填充表“harvest_page”。 我尝试了一些修复但没有成功:
我该如何解决?
答案 0 :(得分:2)
元数据的@Colum
应为@Column