У меня есть простая форма редактирования, которая предварительно выбирает выбранные значения без каких-либо проблем. Но есть одно поле ввода, которое содержит объекты из класса ContactPerson
. Я хочу показать prename
и lastname
в представлении, поэтому я создал виртуальное поле под названием fullname
. Проблема в том, что CakePHP не выбирает его при открытии представления. классПредварительно выберите значение в режиме редактирования в CakePHP при использовании виртуальных полей
ContactPerson:
id
prename
lastname
fullname (virtual field for prename . " " . lastname)
Изменение метода в контроллере:
$contact_persons = $this->Product->ContactPerson->find('list', array('fields' => array('id','fullname'), 'order' => array('fullname' => 'asc'), 'conditions' => array("not" => array ("fullname" => ' '))));
$this->set(compact('contact_persons'));
Вид:
echo "<div class='control-group'>";
echo $this->Form->label('contact_person_id', 'Contact Person:', 'control-label');
echo "<div class='controls'>";
echo $this->Form->input('contact_person_id', array('class' => 'select-input', 'empty' => 'Choose Contact Person', 'options' => $contact_persons));
echo "</div>";
echo "</div>";
В связи с тем, что я использовал виртуальное поле для ContactPersons, он не предварительно выбирает его в окне редактирования. Как я могу сказать CakePHP, что определенный объект должен быть предварительно выбран при использовании виртуальных полей?
Спасибо, Саймон, но это не исправить проблему. – doonot
Извините, я просто заметил, что вы тянете к Продукту из родственной модели. Обновленный ответ. –
Все еще не успех :( – doonot