我收到此错误
Catchable Fatal Error:参数1传递给swaam \ ImageUploaderBundle \ Entity \ Image :: setFile() 必须是Symfony \ Component \ HttpFoundation \ File \ UploadedFile的实例,
给定的swaam \ ImageUploaderBundle \ Entity \ Image实例,在D:\ xamp \ htdocs \ shams \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ PropertyAccess \ PropertyAccessor.php中调用 在第438行并在D:\ xamp \ htdocs \ shams \ src \ swaam \ ImageUploaderBundle \ Entity \ Image.php第166行中定义
根据提及第166行,其函数setFile()在这里是我的函数
public function setFile(UploadedFile $file = null)
{
$this->file = $file;
// check if we have an old image path
if (isset($this->path)) {
// store the old name to delete after the update
$this->temp = $this->path;
$this->path = null;
} else {
$this->path = 'initial';
}
}
我甚至无法理解错误,请任何人帮助我并解释错误的原因加上可能的解决方案。
答案 0 :(得分:4)
我收到了类似的错误消息。我通过将<form method="post" {{ form_enctype(form) }}>
添加到我的表单标记来解决它。
答案 1 :(得分:1)
在代表实体的字段的表单中使用choice
字段类型时出现此错误。
要解决此问题,我在choice
中将entity
更改为buildForm
,并将此实体应解析的类添加到选项中,因此add
语句开始显示如下:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add(
'product',
'entity',
[
'class' => 'Acme\AppBundle\Entity\Product',
]
);
}