Checkbox “创建”中默认选中的“YI2活动字段”复选框

Checkbox “创建”中默认选中的“YI2活动字段”复选框,checkbox,yii2,Checkbox,Yii2,我这里的问题不同于其他问题中的其他问题。我的问题是,活动字段值取自创建模型以外的其他模型。如下所示: ... foreach ($section->cavities as $cavity) { $tr[$i] .= '<td>'.$form->field($cavityJob[$j], "[$j]cavity_id")->checkbox(['value' => $cavity->id, 'label' => $cavity->t

我这里的问题不同于其他问题中的其他问题。我的问题是,活动字段值取自创建模型以外的其他模型。如下所示:

...
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++;
    } 
...
。。。
foreach($section->converse作为$converse){
$tr[$i]。='.$form->field($cavityJob[$j],“[$j]腔id”)->复选框(['value'=>$cavity->id,'label'=>$cavity->title.$section->title]);
$i++;
$j++;
} 
...
请注意,这里有两种模型:

  • $cavityJob
    :创建字段模型
  • $cave
    :通过其
    id
    属性提供字段的值

  • 在创建操作时,我未选中复选框,我希望默认情况下选中它们。我试图将
    'checked'=>'checked'
    放在字段的选项数组中,但在默认情况下使复选框选中失败

    Yoiu应将true指定给字段

    $model->cavity_id = true;  
    
    您可以在模型规则中指定默认值

     ['cavity_id', 'default', 'value' =>true],
    
    试试这个

    $model->myAttribute = true; // or 1, or '1'
    
    echo $form->field($model, 'myAttribute')->checkbox(); // checked ckeckbox
    

    您是否在复选框的选项中尝试过“checked”=>true?是的,我尝试过。我不知道它对您的工作原理,但在正常情况下,当您第一次加载模型时,复选框字段值为1。在模型中,非格式
    $cavityJob
    不是字段。这是一个模型,模型是多对多共轭表。i、 e模型只有两个属性(表中的两个字段)
    job\u id
    cover\u id
    此外,与
    job\u id
    相关的
    cover\u id
    的计数是固定数字。所以,我想制作一个带有复选框的仪表板。我重新思考了一下,我发现用这样的设计制作CRUD是非常困难的,例如,在这种情况下,更新可能意味着删除,这将在呈现删除的项目以再次恢复它们时产生另一个问题。因此,我决定添加名为
    status
    的第三个属性,作为仪表板处理此任务。