CakePHP: Несколько полей в поле выбора (без виртуальных полей)?


Я использую CakePHP 2.0. Можно ли отобразить несколько полей в поле выбора/выпадающего списка без использования виртуальных полей?

Прямо сейчас у меня есть это:

$this->set('venues', $this->Game->Venue->find('list', array('fields' => array('id', 'name', 'town'))));

Проблема в том, что когда два поля равны (в данном случае имя и город), выбираемый элемент не будет отображаться в списке. В этом случае только имя, и его нельзя выбрать.

Author: user1428033, 2012-06-20

1 answers

Не уверен, почему вы не можете создать виртуальное поле, но вы можете создать поле вручную в контроллере, просто пройдясь по строкам и составив свой собственный список.

$venues = $this->Game->Venue->find('all', array('fields' => array('id', 'name', 'town')));

foreach($venues as $venue){
    $list[$venue['Venue']['id']] = $venue['Venue']['name'].' '.$venue['Venue']['town'];
}

$this->set('venues', $list);
 1
Author: 472084, 2012-06-20 12:29:04