如何从数据库手动填充表单选择(多值)

发布于 2024-12-22 09:48:38 字数 778 浏览 0 评论 0原文

在我的表单中,我有一个简单的

<select multiple="multiple" name="action[files][]" id="action_files"></select>

输出:

  $builder->add('files', 'choice', array('multiple' => true, 'required' => false));

setFiles() 正在工作,但是当显示现有记录时,getFiles() 不起作用。

这是吸气剂:

public function getFiles()
{
    $array = array();
    $documents = $this->getDocuments();

    foreach ($documents as $document) {
        $array[$document->getFilename()] = $document->getFilename();
    }
    return $array;
}

它将输出:

array(1) { ["slide1.jpg"]=> string(10) "slide1.jpg" } 

但是选择是空的。

我该如何实现这一点?

In my form i have a simple

<select multiple="multiple" name="action[files][]" id="action_files"></select>

outputed by :

  $builder->add('files', 'choice', array('multiple' => true, 'required' => false));

the setFiles() is working, but when displaying an existent record, the getFiles() does not work.

Here's the getter :

public function getFiles()
{
    $array = array();
    $documents = $this->getDocuments();

    foreach ($documents as $document) {
        $array[$document->getFilename()] = $document->getFilename();
    }
    return $array;
}

It'll output :

array(1) { ["slide1.jpg"]=> string(10) "slide1.jpg" } 

But the select is empty.

How can i achieve that please ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贵在坚持 2024-12-29 09:48:38

您没有将“选择”选项传递到选择字段。

You did not pass the "choices" option to the choice field.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文