下拉列表,否则在控制器中获取 PK 或在 Yii 中获取表单


dropdownlist if else get pk in controller or form in yii

新手在这里。我不确定这样做的最佳方法是什么。如果选择"未列出",我想创建一个新记录,如果用户从列表中选择,则获得 pk。

不确定我是否会在控制器、我的表单或其他地方写一些东西? 我该怎么做?

在我的表格中,我有:

<?php echo $form->dropDownList($model,'store_name', CHtml::listData($model->findAll(),'store_id','store_name'),array('prompt'=>'Not Listed'));?>

in controller。

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();