ссылочное поле по форме

Я думаю, что я не понимаю справочное поле.

У меня простая форма

<?php class page_prueba extends Page { function init(){ parent::init(); $p=$this; $f=$p->add('Form'); $f->setSource('ticket'); $f->addField('line','texto')->validateNotNull(); $f->addField('text','detalle')->validateNotNull(); $c=$p->add('Model_Usuario'); $f->addField('reference','usuario')->setValueList($c)->validateNotNull(); } } 

И у меня есть модель пользователя

 <?php class Model_Usuario extends Model_Table { public $entity_code='usuario'; public $table_alias='u'; function defineFields(){ parent::defineFields(); $this->addField('nombre'); $this->addField('password'); $this->addField('email'); $this->addField('telefono'); $this->addField('descripcion'); $this->addField('interno'); $this->addField('esadmin'); } } ?> 

Когда я запускаю страницу примера, которую я получаю в раскрывающемся списке (значения параметра), отображаются значения id (первичный ключ), но то, что я хочу видеть в этих выпадающих списках, – это поле имени (nombre).

Может быть, я что-то упустил.

Любая помощь будет оценена.

спасибо Алехандро

Solutions Collecting From Web of "ссылочное поле по форме"

По умолчанию модель отображает поле «имя». Существует несколько способов настройки этого

  1. определить поле имени в расчете
  2. redefine Model_Usuario :: toStringSQL ()
  3. начиная с 4.1, вы также можете определить имя поля через свойство.

вы должны, вероятно, пойти после 2, вот пример:

 public function toStringSQL($source_field, $dest_fieldname, $expr = 'name') { // return parent::tostringSQL($source_field,$dest_fieldname, 'date') return 'concat(name," ",surname) as ' . $dest_fieldname; }