2017-03-02 31 views
0

我在這裏的問題比其他問題其他問題地址的不同。我的問題是,活動字段值取自另一個模型,而不是創建模型。它看起來像如下:這裏Yii2有源現場複選框默認選中在創建

... 
foreach ($section->cavities as $cavity) { 
     $tr[$i] .= '<td>'.$form->field($cavityJob[$j], "[$j]cavity_id")->checkbox(['value' => $cavity->id, 'label' => $cavity->title.$section->title]).'</td>'; 
     $i++; 
     $j++; 
    } 
... 

注意有兩種型號:

  1. $cavityJob:領域模型的創建
  2. $cavity:通過其id財產
  3. 提供字段的值

上創建行動我未選中該複選框,我希望他們能夠在默認情況下進行檢查。我試圖將'checked' => 'checked'放置在字段的選項數組中,但在默認情況下未勾選make複選框。

+0

您是否嘗試過「檢查」複選框中的選項=>真的嗎? – Imaginaroom

+0

是的,我試過了。 – SaidbakR

+0

我不知道它是如何爲你工作,但是當你在時加載模型首次正常情況下給複選框字段值1.In模型不是形式 –

回答

0

Yoiu應該真正分配到外地

$model->cavity_id = true; 

,你可以指定在模型規則的默認值

['cavity_id', 'default', 'value' =>true], 
+0

'$ cavityJob'不是現場。這是一個模型。 – SaidbakR

+0

然後應用同樣的理念,你的領域.. – scaisEdge

+0

該模型是多對多的結合表。即模型只有兩個屬性(表中的兩個字段)'job_id'和'cavity_id',另外,與'job_id'相關的'cavity_id'的計數是固定的數字。所以,我喜歡用複選框來製作儀表盤。我再次重新思考,我覺得這將是如此難以做出這樣的設計CRUD,例如更新,在這種情況下,可能意味着刪除,這將使另一個問題渲染刪除的項目重新恢復它們。所以我決定添加名爲'status'的第三個屬性作爲儀表板來處理這個任務。 – SaidbakR