这里是ListBuilder小部件代码:
$this->widget('ext.widgets.multiselects.XMultiSelects',array(
'leftTitle'=>'Australia',
'leftName'=>'Person[australia][]',
'leftList'=>Person::model()->findUsersByCountry(14),
'rightTitle'=>'New Zealand',
'rightName'=>'Person[newzealand][]',
'rightList'=>Person::model()->findUsersByCountry(158),
'size'=>20,
'width'=>'200px',
));
列表生成器视图this
我想将我选择的整个列表保存到我的数据库中。 怎么做?
答案 0 :(得分:0)
源代码可用,因此您只需查看控制器:
public function actionMovePersons()
{
if(isset($_POST['Person']['australia']))
{
foreach ($_POST['Person']['australia'] as $id)
Person::model()->updateUserCountry($id, 14);
}
if(isset($_POST['Person']['newzealand']))
{
foreach ($_POST['Person']['newzealand'] as $id)
Person::model()->updateUserCountry($id, 158);
}
Yii::app()->user->setFlash('saved',Yii::t('ui','Data successfully saved!'));
$this->redirect(array('site/extension','view'=>'listbuilder'));
}
在模型中:
public function updateUserCountry($id, $country_id)
{
$model=$this->findByPk($id);
$model->country_id=$country_id;
$model->update('country_id');
}
以上更新了数据库中的Person并设置了新的国家/地区。如果我理解你的问题是正确的,你想要创建新的条目(可能在不同的表中),而不是改变现有的条目。为此,您可以轻松修改updateUserCountry()
功能以创建新的Person
,而不是更新它。