You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony表单报错:无法确定Artikel类bestelserie属性的访问类型

解决"无法确定AppBundle\Entity\Artikel类中属性'bestelserie'的访问类型"错误

这个错误的核心原因很明确:你的Artikel实体类里的bestelserie属性只定义了私有变量,但没有提供对应的getter和setter方法,Doctrine无法通过反射获取这个属性的访问方式,所以抛出了这个错误。除此之外,你的实体类里还有其他几个小问题,我一起帮你梳理修复:

1. 为bestelserie添加getter和setter方法

在Artikel类的末尾添加以下代码:

/**
 * Set bestelserie
 *
 * @param integer $bestelserie
 *
 * @return Artikel
 */
public function setBestelserie($bestelserie)
{
    $this->bestelserie = $bestelserie;
    return $this;
}

/**
 * Get bestelserie
 *
 * @return integer
 */
public function getBestelserie()
{
    return $this->bestelserie;
}

2. 修复实体类里的其他错误

(1)重复的inkoopprijs注解

你在实体里定义了两个inkoopprijs的注解,其中第二个是错误的,同时magazijnlocatie的注解列名也写错了,一起修复:

// 替换原来的magazijnlocatie和inkoopprijs定义
/**
 * @var string
 *
 * @ORM\Column(name="magazijnlocatie", type="string", length=255, nullable=true)
 */
private $magazijnlocatie;

/**
 * @var float
 *
 * @ORM\Column(name="inkoopprijs", type="decimal", precision=10, scale=2, nullable=true)
 */
private $inkoopprijs;

(注:采购价格用decimal类型比integer更合适,如果你确实需要整数类型,可以改成type="integer")

(2)属性方法的大小写不一致

  • vervangendeArtikel的setter/getter方法名写错了,应该是setVervangendeArtikel和getVervangendeArtikel(首字母大写),而不是setVervangendeartikel和getVervangendeartikel
  • minimumVoorraad的setter方法名应该是setMinimumVoorraad,而不是setMinimumvoorraad

(3)缺少voorraadaantal的getter/setter

同样,voorraadaantal属性也没有对应的访问方法,需要补充:

/**
 * Set voorraadaantal
 *
 * @param integer $voorraadaantal
 *
 * @return Artikel
 */
public function setVoorraadaantal($voorraadaantal)
{
    $this->voorraadaantal = $voorraadaantal;
    return $this;
}

/**
 * Get voorraadaantal
 *
 * @return integer
 */
public function getVoorraadaantal()
{
    return $this->voorraadaantal;
}

3. 验证修复后的实体

修复完成后,你可以运行Doctrine的校验命令来确认实体映射是否正确:

php bin/console doctrine:schema:validate

如果输出[OK] The mapping files are correct.和[OK] The database schema is in sync with the mapping files.,说明实体已经没有问题了。

最后,确保你的ArtikelType表单类里的字段和实体属性一一对应,没有拼写错误,这样表单提交时就能正确映射到实体了。

内容的提问来源于stack exchange,提问作者Mr J.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:03:33