2016-03-30 162 views
0

我是CakePHP的新手,我试图做一个管理面板。CakePHP选择选项属性

在我的下拉列表中,我无法显示'label'而不是id。我试过这么多的事情......

我的数据库是这样的:

etats

  • ID
  • 标签

projets

  • (行)
  • 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> 

它并不想在我的DB的“标签” ......我不知道该怎么办。

预先感谢您和遗憾,再次为这个可怜的英语:“(

+0

你想看到的标签在你的下拉列表中?或者不想看到? “它不想在我的数据库中使用'标签'...我不知道该怎么办。”目前尚不清楚。 –

+0

plz让我知道什么类型的o输出你想要的。 plz –

+1

什么cakephp版本? – arilia

回答

0

好吧,我发现它

$etats = $this->Projets->Etats->find('list', ['keyField' => 'id', 'valueField' => 'label']); 

会做!

<option value="ID">LABEL</option>