【发布时间】:2017-04-11 22:09:07
【问题描述】:
我相信我已经尝试了很多教程,但现在我已经没有想法了。我想创建文件实体,它将保存上传到系统的每个文件的详细信息,并将使用与其他实体的 OneToOne 关系。我在 Symfony 2.4 上使用过这种方法,这很好,但在 Symfony 3 上我得到了意想不到的错误。我使用 Sonata Admin 进行后端数据管理。问题之一是我在文件设置器 setFile 上获取数组而不是 File 对象
所以我有 Post 实体
class Post extends BasePageModel
{
...
/**
* @ORM\OneToOne(targetEntity="File", cascade={"persist"})
* @ORM\JoinColumn(name="file_id", onDelete="CASCADE", referencedColumnName="id")
*/
protected $file;
...
/**
* Set file
*
* @param File $file
*
* @return Post
*/
public function setFile(File $file = null)
{
$this->file = $file;
return $this;
}
/**
* Get file
*
* @return File
*/
public function getFile()
{
return $this->file;
}
...
}
我收到一个错误:Expected value of type "File" for association field "Post#$file", got "array" instead.
【问题讨论】:
-
你能为这个实体提供表单类吗?
标签: php symfony sonata-admin