我在应用程序中使用VichUploader上传图像,它运行正常,但是当我尝试删除图像时,文件是从磁盘中删除的,而不是从数据库中删除的,它显示此错误:
Expected argument of type "string", "NULL" given at property path "name".
图像对象转储是这样的:
Image {#462 ▼
-id: 20
-file: null
-name: "RehrlwnDcd.jpg"
-updatedAt: DateTime @1557958944 {#460 ▶}
-tags: PersistentCollection {#495 ▶}
}
和vich配置是:
inject_on_load: false
delete_on_update: true
delete_on_remove: true
当我将delete_on_remove设置为false时,该图像将从数据库中删除,但仍在磁盘中
答案 0 :(得分:1)
检查您的实体,我认为您的代码中有这样的代码。
/**
* @var string
*/
private $name;
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* @param string $name
*/
public function setName(string $name): void
{
$this->name = $name;
}
,如果是真的,您可以更改
getName(): string to getName(): ?string
and setName(string $name) to setName($name)
如果没有收到提示,请显示所有错误消息:)