Php Symfony2表单文件上载到两个实体
我有一个symfony格式的表单,用ajax/xhr2发送到服务器。它包括一个文本字段和可能的文件(不允许有或多个)。因此,我创建了一个名为“post”的实体,它保存提交的文本、用户以及日期/时间。此外,它还与名为“upload”的实体的OneToMany关系相关联 此实体保存上载文件上的所有相关数据 在上传实体中,我还放置了上传方法,如上所述 现在,当我坚持我的帖子时,post类尝试上传文件,而不是将其留在upload类中。因此,我得到一个错误,即post类中不存在任何方法setUploads。当我添加它时,我得到一个错误,即该方法接收了UploadedFile的实例,而不是Upload 有没有人对我如何以建模类的方式上传文件或如何创建更好的模型有好的建议Php Symfony2表单文件上载到两个实体,php,forms,symfony,file-upload,doctrine-orm,Php,Forms,Symfony,File Upload,Doctrine Orm,我有一个symfony格式的表单,用ajax/xhr2发送到服务器。它包括一个文本字段和可能的文件(不允许有或多个)。因此,我创建了一个名为“post”的实体,它保存提交的文本、用户以及日期/时间。此外,它还与名为“upload”的实体的OneToMany关系相关联 此实体保存上载文件上的所有相关数据 在上传实体中,我还放置了上传方法,如上所述 现在,当我坚持我的帖子时,post类尝试上传文件,而不是将其留在upload类中。因此,我得到一个错误,即post类中不存在任何方法setUploads
多谢各位 我写了一篇关于如何将文件上传到Symfony2的完整解释。正如您猜对的,您需要将方法
setUploads()
添加到Post
实体中。上传的文件将链接到Upload
实体,而不是Post
本身
class Post{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="text")
*/
private $text;
/**
* @ORM\Column(type="datetime")
*/
private $created;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="posts")
* @ORM\JoinColumn(name="users", referencedColumnName="id")
*
*/
private $author;
/**
* @ORM\OneToMany(targetEntity="Upload", mappedBy="post")
*/
private $uploads;
class Upload
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=30)
*/
private $name;
/**
* @ORM\Column(type="string", length=255)
*/
private $path;
/**
* @ORM\Column(type="datetime")
*/
private $date;
/**
* @ORM\Column(type="string", length=30)
*/
private $type;
/**
* @ORM\Column(type="integer")
*/
private $size;