2016-03-30 18 views
0

Ich bin neu bei CakePHP und habe versucht, ein Admin-Panel zu erstellen.CakePHP Optionsattribute auswählen

In meiner Dropdown-Liste kann ich nicht die 'Bezeichnung' anstelle der ID anzeigen. Ich habe versucht, so viele Dinge ...

Meine Datenbank ist wie:

etats

  • id
  • Label

projets

  • (viele Zeilen)
  • etat_id

Ich habe versucht, dies zu tun:

Controller:

$etats = $this->Projets->Etats->find('all'); 

Ausblick:

echo $this->Form->input('etat_id', ['options' => $etats]); 

Ausgang:

<select name="etat_id" id="etat-id"> 
    <option value="0"> 
    {"id": 1, "label": "En cours"} 
    </option> 
</select> 

Nun, wenn ich versuche, dies zu tun:

Controller:

$etats = $this->Projets->Etats->find('list', array('fields' => array('Etats.id', 'Etats.label'))); 

(gleiche Ansicht)

Die Ausgabe lautet:

<select name="etat_id" id="etat-id"> 
    <option value="1"> 
    1 
    </option> 
</select> 

Es ist nicht das ‚label‘ in meiner DB nehmen will ... Ich weiß nicht, was zu tun ist.

Vielen Dank im Voraus und leider wieder für diese schlechte Englisch: '(

+0

Haben Sie das sehen wollen Label vor der Drop-Down-Liste? Oder wollen Sie nicht sehen? "Es will nicht das 'Label' in meiner Datenbank ... Ich weiß nicht, was zu tun ist." Es ist nicht klar. –

+0

PLZ lassen Sie mich wissen, welche Art von o Ausgabe, die du willst. plz –

+1

Welche CakePhp-Version? – arilia

Antwort

0

Ok, ich fand es

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

tun wird:

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