0

我想使用 Uploadable 来保存一些图片(即用户的个人资料图片)。我已经在使用许多其他的 Doctrine 扩展(可软删除、可时间戳、可责备等),所以我认为使用这个也很好。

但是,我不知道如何设置我的表单。StofDoctrineExtensionsBundle文档给出了这个例子:

$document = new Document();
$form = $this->createFormBuilder($document)
    ->add('name')
    ->add('myFile')
    ->getForm()
;

//(...)

$uploadableManager->markEntityToUpload($document, $document->getMyFile());

在此示例中,是nameDocument 的名称还是文件的名称?

Atlantic18/DoctrineExtensions 的文档向实体添加了path、和name,因为没有属性。mimeTypesizemyFile

任何人都可以解释如何为可上传的 Doctrine 实体设置表单吗?我找不到任何可以进一步帮助我的文档或好的示例。

4

1 回答 1

1

实体

就像您发现的那样,DoctrineExtensions本身的文档阐明了如何配置 Uploadable 扩展以使用您的实体。

主要是通过将@Gedmo\Uploadable注释添加到您的实体和@Gedmo\UploadableFilePath将包含文件路径的属性($filePath例如)。

形式

使用->add()表单生成器的方法,您可以向表单添加字段。第一个参数指定相应实体的属性名称。所以->add('myFile')会为属性添加一个字段$myFile

您需要做的是将包含文件路径($filePath例如)的属性的(文件)字段添加到表单中,并标记该属性:

$form = $this->createFormBuilder($entity)
    ->add('filePath');

$uploadableManager->markEntityToUpload($entity, $entity->getFilePath());

换句话说:myFile在您的示例中应该替换为filePath在我的示例中,以及实际代码中的实际属性。

于 2016-06-08T10:30:28.777 回答