function init(){
parent::init();
$f = $this->add('Form');
$f->addField('dropdown', 'Label:')->setModel('User');
}
因此,此代码将输出一个下拉列表,该列表由表中的值与模型 User 相关联,但值将为 name 字段中的值。模型。
有没有办法使用模型的另一个字段来填充它?
答案 0 :(得分:2)
没有直接的方法。首先,您确定不必使用“引用”类型而不是下拉列表吗?
其次,免费是如何:
class Model_User_BySurname extends Model_User {
public function getListFields(){
return array('id'=>'id','surname'=>'name');
}
}
然后进一步:
$form->addField('reference','Label')->setModel('User_BySurname');
当然,您可以通过在getListFields中创建某种“setNameField('surname')”函数和隐藏属性,在模型中重新定义此字段。
答案 1 :(得分:0)
这已经改变了,我花了一些时间来弄清楚如何做到这一点。
class Model_MyModel extends SQL_Model {
public function init() {
parent::init();
$this->addField('titleField');
}
public function getTitleField() {
return 'titleField';
}
}
$form->addField('dropdown', 'Label')->setModel('MyModel');