我使用带有多重上传的表单。我的 addAction 将有关下载文件的信息保存在数据库中,并获取数组 lastInsrtId() 值。如果上传成功,我需要重定向到 editAction,用户可以在其中看到下载文件的列表,并且用户可以使用此文件列表编辑每个下载文件的图像的标题、描述和 alt 属性等文件属性。如何在路由中传递值数组?这是我的代码addAction:
// upload success
$fileIds = $this->getContentService()->makeFiles($parent, $data);
return $this->redirect()->toRoute('sc-admin/file/edit', array('ids' => $fileIds));
这是应该显示要编辑的文件列表的路由的定义:
'edit' => array(
'type' => 'segment',
'options' => array(
'route' => '/edit[/:ids]',
'defaults' => array(
'controller' => 'sc-file',
'action' => 'edit',
),
),
),
但它会为 editAction 生成错误
rawurlencode() expects parameter 1 to be string, array given
我不想在传递值数组所需的参数时使用会话,因为这只是路由的问题。