我在添加/编辑课程视图中有以下行:
echo $this->Form->input(
'Competency',
array(
'label' => 'Which competencies does this course address?',
'multiple' => 'checkbox'
)
);
(建模为课程有很多能力)
我想自定义为每种能力获得输出的标签,但似乎无法找到这样做的方式 - “标签”字段似乎可以作为组标题而不是更改个人的标签复选框。
(理想情况下,我不仅仅是显示Competency.name,我可以显示Competency.name以及Competency.code作为标签)
NB我想过改变displayField但是这会改变它到处都只是在这里我想要与众不同。
答案 0 :(得分:1)
//in your Competency model
var $virtualFields = array(
'name_code' => 'CONCAT(Competency.name, " ", Competency.code)'
);
然后在您的控制器中,在检索数据之前,将displayField设置为刚刚创建的虚拟字段:
//in your controller prior to the find
$this->Competency->displayField = 'name_code';
由于您在控制器中设置了displayField,因此不会将其永久设置,因此无需将其设置回来,但如果您在此之后立即执行更多操作,则可以始终设置回{{1如果你想要的话。