我是YII的新人,我有一个问题...... 我有一个类似
的模型Person {
$id ;
$name ;
$address ;
}
Car{
$id ;
$carLicenseNumber ;
$person_id ; // BELONGS TO PERSON
}
我有一个CJuiAutoComplete但我不知道如何在字段上显示人名时想要更新
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'model'=>$model,
'id'=>'person',
'name'=>'person',
'attribute'=> 'person->name', // I WANT THIS but no idea how to do this ...
'source'=>$this->createUrl('person/suggestPerson'),
'options'=>array(
'delay'=>150,
'minLength'=>2,
'showAnim'=>'fold',
'select'=>"js:function(event, ui) {
$('#label').val(ui.item.label);
$('#temp_person_id').val(ui.item.id);
}"
),
'htmlOptions'=>array(
'size'=>'40'
),
));
如何在属性上显示person->名称?
注意:$ model是Car实例
我尝试使用像
这样的临时变量$ temp = $ model-> person-> name; 然后将$ temp分配给'attribute'=> $ temp 它运作良好......
我只想知道在文本字段或自动填充字段中分配相关字段的正确方法。
答案 0 :(得分:0)
在我与Live Chat上的一些YII开发者聊天后,我找到了解决方案
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'model'=>$model->person, // change this to model->person instead of model
'id'=>'person_name',
'name'=>'person_name',
'attribute'=> 'name', // just name
'source'=>$this->createUrl('person/suggestPerson'),
'options'=>array(
'delay'=>150,
'minLength'=>2,
'showAnim'=>'fold',
'select'=>"js:function(event, ui) {
$('#label').val(ui.item.label);
$('#temp_person_id').val(ui.item.id);
}"
),
'htmlOptions'=>array(
'size'=>'40'
),
));