我是CakePHP的新手,我尝试过做一个管理面板。
在我的下拉列表中,我无法显示"标签"而不是id。我尝试了很多事情。。。
我的数据库是这样的:
etats
- id
- 标签
项目
- (多行)
- etat_id
我试着这样做:
控制器:
$etats = $this->Projets->Etats->find('all');
视图:
echo $this->Form->input('etat_id', ['options' => $etats]);
输出:
<select name="etat_id" id="etat-id">
<option value="0">
{"id": 1, "label": "En cours"}
</option>
</select>
现在,如果我尝试这样做:
控制器:
$etats = $this->Projets->Etats->find('list', array('fields' => array('Etats.id', 'Etats.label')));
(相同视图)
输出为:
<select name="etat_id" id="etat-id">
<option value="1">
1
</option>
</select>
它不想在我的数据库中使用"标签"。。。我不知道该怎么办。
提前感谢你,再次为你糟糕的英语感到抱歉:'(
好的,我找到了!
$etats = $this->Projets->Etats->find('list', ['keyField' => 'id', 'valueField' => 'label']);
可以:
<option value="ID">LABEL</option>