2011-12-21 114 views
0

在我的形式,我有一個簡單的如何從數據庫形式手動填充選擇(多值)

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

通過outputed:

$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" } 

但選擇是空的。

我該如何做到這一點?

+0

你確定$ douments實際上是非空嗎? – 2011-12-22 12:40:10

+0

@MassimilianoArione我120%確定getDocuments返回上傳的文檔。所以它不是空的 – 2011-12-23 09:23:17

+0

只是爲了確定:你是否在getFiles()中嘗試了var_dump($ array),然後才返回? – 2011-12-23 10:56:26

回答

1

您沒有將「選項」選項傳遞給選擇字段。