新手在这里。 我不确定最好的方法是什么。如果选择“未列出”,我想创建一个新记录,如果用户从列表中选择,则获取pk。
我不确定我是否会在控制器或我的表格或其他地方写一些东西?我该怎么做?
在我的表格中,我有:
<?php echo $form->dropDownList($model,'store_name', CHtml::listData($model->findAll(),'store_id','store_name'),array('prompt'=>'Not Listed'));?>
答案 0 :(得分:0)
在控制器中。
if($model->store_name === null && $_POST['new_store_name'] !== null){
$search = StoreTable::model()->findbyattributes(array('store_name' => $_POST['new_store_name']));
if(!$search){
$create = new StoreTable();
$create->store_name = $_POST['new_store_name'];
$create->save();
$model->store_name = $create->id;
}
else {
$model->store_name = $search->id;
}
}
$model->save();