我有以下型号:
class Model_GrantMinimal extends Model_Table {
public $table='grant';
function init() {
parent::init();
$this->hasOne('User');
$this->getField('id')->hidden(true);
$this->getField('user_id')->hidden(true);
$this->addField('grant_number');
$this->addField('grant_name');
}
}
在页面内我有以下代码:
$grant=$this->add('Model_GrantMinimal');
$grant->load($id);
$user=$grant->ref('user_id');
$field = $grantForm->addField('Dropdown','Manager');
$field->setModel($user);
$field
->validateNotNull()
->add('Icon',null,'after_field')
->set('arrows-left3')
->addStyle('cursor','pointer')
->js('click',$grantForm->js()->reload())
;
一切都运行得非常完美 - 我如何确保Dropdown(php中的$field
)链接到整体表单,即当我更改下拉列表中的值时,该值被传递到{{1 - 如何确保下拉列表的$grantForm->onSubmit
(预选值)是由defaultValue
内的user_id
设置的用户
到目前为止,我非常喜欢这个框架 - 它非常令人印象深刻,来自.NET框架,其中MVVM和MVC如此常见,特别是与最新的WPF相关。与旧的HTML / PHP编写方式相比,它只是需要一段时间才能完全理解什么。
答案 0 :(得分:0)
经过几个小时的调试跟踪后计算出来:
class Model_GrantMinimal extends Model_Table {
public $table='grant';
function init() {
parent::init();
$this->hasOne('User');
$this->getField('id')->hidden(true);
$this->getField('user_id')->hidden(true);
$this->addField('grant_number');
$this->addField('grant_name');
$this->hasOne('User');
$this->getField('user_id')->caption('Manager')->hidden(false);
}
}