2014-03-03 65 views
0

我有這種情況。從BiograpiesController,查詢之後,我得到這個數組:如何從數據數組中填寫表格

Array (
      [0] => Array (
        [Biography] => Array (
          [id] => 7 
          [biography] => AAA 
        ) 
      ) 
      [1] => Array (
        [Biography] => Array (
          [id] => 9 
          [biography] => BBBBB 
       ) 
     ) 
    ) 

在查看我想創建一個表單絲毫這個數據。我用:

echo $this->Form->create('Biography')); 
    echo $this->Form->input('0.Biography.biography', array('label' => 'A')); 
    echo $this->Form->input('1.Biography.biography', array('label' => 'B')); 
    echo $this->Form->end(); 

第一個字段填充正確的數據,第二個是空的。然後我嘗試:

echo $this->Form->input('A1', array('type' => 'textarea', 'rows' => '10', 'cols' => '40', 'value' => $this->request->data[0]['Biography']['biography'])); 
    echo $this->Form->input('B1', array('type' => 'textarea', 'rows' => '10', 'cols' => '40', 'value' => $this->request->data[1]['Biography']['biography'])); 

字段A1填充正確的數據,第二個爲空。 這是怎麼回事? 如何使用控制器中的正確數據填寫表單?

非常感謝您

+0

你確定$ this-> request-> data中的數據是否正好如上所述?你的第二個解決方案應該可行嘗試發佈調試($ this-> request-> data) – arilia

+0

是的,數據是相同的。我曾經看到它們:pr($ this-> request-> data)。 – Sandro

+0

我想這是某種編輯形式?我懷疑表單中顯示的數據存在問題,因爲有兩個ID,並且表單最有可能使用第一個數組填充數據,在您的案例ID爲7中。 – skywalker

回答

2

我身上沒CakePHP中的很多知識,但按該文件它應該工作

echo $this->Form->create('Biography')); 
echo $this->Form->input('Biography.0.biography', array('label' => 'A')); 
echo $this->Form->input('Biography.1.biography', array('label' => 'B')); 
echo $this->Form->end(); 

請注意,在2和變化3號線

我已經提到以下鏈接 http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#field-naming-conventions

+0

我也試過這個解決方案,但我沒有得到任何東西 – Sandro

+0

Yogesh是正確的,這是正確的從模型數據數組創建表單字段。如果它不工作,那麼你的數組可能不是正確的格式 – toby1kenobi

+0

你能描述正確的模型嗎?我從Controller獲得的數組應該被糾正。包含這些ID的字段是正確的(0和1),第一個textarea字段是OK,第二個textarea是空的。爲什麼?謝謝 – Sandro