VichUploaderBundle을 적용하는 Entity 속성은 NULL을 허용하지 않으면 삭제할 수 없습니다.
3863 단어 심포니PHPVichUploaderBundle
소개
Symfony 파일을 업로드하는 데 VichUploaderBundle을 사용합니다.
Api Platform 을 사용하고 있으며 파일 업로드는 문서대로 가서 문제 없습니다.
문제
Entity 삭제(DELETE)를 발행하면 다음과 같이 흔한 오류가 나온다.
"Expected argument of type "string", "null" given at property path "originalFileName"."
원인
Entity를 작성했을 때는, 대개 디폴트치를 설정해 버립니다만, setOriginalFileName 메소드를 호출할 때, 인수 지정된 것이 문제였습니다.
/**
* @ORM\Column(type="string", length=255, options={"default": ""})
*/
private $originalFileName = '';
public function getOriginalFileName(): ?string
{
return $this->originalFileName;
}
public function setOriginalFileName(string $originalFileName = ''): self
{
$this->originalFileName = $originalFileName;
return $this;
}
다음과 같이 null을 허용하는 "?"를 string 앞에 붙여 해결.
public function setOriginalFileName(?string $originalFileName = ''): self
{
$this->originalFileName = $originalFileName;
return $this;
}
무사히 삭제할 수 있게 되었습니다.
요약
NULL 허용으로 구현하는 것이 다른 번들과도 연계가 있기 때문에 좋네요.
make:entity로 만든 채로 좋을지도?
참고문헌
Entity 삭제(DELETE)를 발행하면 다음과 같이 흔한 오류가 나온다.
"Expected argument of type "string", "null" given at property path "originalFileName"."
원인
Entity를 작성했을 때는, 대개 디폴트치를 설정해 버립니다만, setOriginalFileName 메소드를 호출할 때, 인수 지정된 것이 문제였습니다.
/**
* @ORM\Column(type="string", length=255, options={"default": ""})
*/
private $originalFileName = '';
public function getOriginalFileName(): ?string
{
return $this->originalFileName;
}
public function setOriginalFileName(string $originalFileName = ''): self
{
$this->originalFileName = $originalFileName;
return $this;
}
다음과 같이 null을 허용하는 "?"를 string 앞에 붙여 해결.
public function setOriginalFileName(?string $originalFileName = ''): self
{
$this->originalFileName = $originalFileName;
return $this;
}
무사히 삭제할 수 있게 되었습니다.
요약
NULL 허용으로 구현하는 것이 다른 번들과도 연계가 있기 때문에 좋네요.
make:entity로 만든 채로 좋을지도?
참고문헌
/**
* @ORM\Column(type="string", length=255, options={"default": ""})
*/
private $originalFileName = '';
public function getOriginalFileName(): ?string
{
return $this->originalFileName;
}
public function setOriginalFileName(string $originalFileName = ''): self
{
$this->originalFileName = $originalFileName;
return $this;
}
public function setOriginalFileName(?string $originalFileName = ''): self
{
$this->originalFileName = $originalFileName;
return $this;
}
NULL 허용으로 구현하는 것이 다른 번들과도 연계가 있기 때문에 좋네요.
make:entity로 만든 채로 좋을지도?
참고문헌
Reference
이 문제에 관하여(VichUploaderBundle을 적용하는 Entity 속성은 NULL을 허용하지 않으면 삭제할 수 없습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/idani/items/4f8405940ee5650ccb9b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)