繁体   English   中英

Symfony2表单文件上传到两个实体

[英]Symfony2 Form File Upload into two entities

我在symfony中有一个表单,该表单通过ajax / xhr2发送到服务器。 它包括一个文本字段和可能的文件(不允许一个或多个)。 因此,我创建了一个名为“ post”的实体,其中包含提交的文本,执行该操作的用户以及日期/时间。 另外,它还与一个名为“上载”的实体的OneToMany关系相关联。

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;

在上载实体中,我还按照http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html上的说明放置了上载方法

现在,当我坚持自己的帖子时,帖子类将尝试上传文件,而不是将其保留在上传类中。 因此,我收到一个错误,即post类中不存在setUploads方法。 添加它时,出现错误消息,该方法接收到一个UploadedFile实例而不是Upload实例。

有人对我如何以建模类的方式上载文件或如何创建更好的模型有很好的建议吗?

非常感谢你!

我写了一个关于如何将文件上传到Symfony2的充分解释这里 如您所料,您需要将方法setUploads()添加到Post实体。 上传的文件将链接到Upload实体而不是Post本身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM