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