Преобразовать текстовое поле в раскрывающийся список из представления «Добавить» - PullRequest
0 голосов
/ 05 сентября 2011

Можете ли вы помочь мне разобраться, пожалуйста? У меня есть 4 элемента формы в моем представлении добавления (app \ views \ tickets \ add.ctp), но ввод 'status' находится в текстовом поле. Я хочу, чтобы это было преобразовано в выпадающий список, заполненный данными из поля в таблице с именем Status. Как мне это сделать?

echo $this->Form->input('problemno');
echo $this->Form->input('status');
echo $this->Form->input('description');
echo $this->Form->input('user_id');

Спасибо,

Лиман

Ответы [ 3 ]

1 голос
/ 06 сентября 2011

Если вы хотите задать тип поля ввода, не используйте метод input (), но используйте метод для нужного типа.

Чтобы получить раскрывающийся список, вы можете использоватьметод select ():

$options = array('status1' => 'status1', 'status2' => 'status2', ...);
$this->Form->select('status', $options);

См. http://book.cakephp.org/view/1430/select

0 голосов
/ 06 сентября 2011

Это не совсем правильный путь.Это может быть хорошо, или вы могли бы найти изменение позже, чтобы быть проблемой.Но если вы просто хотите создать выпадающий список с некоторыми опциями, то вам нужно:

echo $this->Form->input('status', array('options'=>array('status1'=>'status1','status2'=>'status2','status3'=>'status3')));

0 голосов
/ 05 сентября 2011

Если модель, связанная с вашей таблицей «Статус», связана с вашей текущей моделью («Билет», предположительно) с hasMany, hasOne или ownTo (... до тех пор, пока ваша модель «Статус» отображается, когда выотладка $this->Ticket->read(null, <some_ticket_id>)) вы можете сделать

echo $this->Form->input('StatusModel.field')

, и торт будет автоматически превращать это поле в то, что ему нужно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...