1

ここの初心者。これを行う最善の方法が何であるかわかりません。「リストにない」が選択されている場合は新しいレコードを作成し、ユーザーがリストから選択した場合は pk を取得したいと思います。

コントローラー、フォーム、または他の場所に何かを書くかどうかわかりませんか? どうすればこれを行うことができますか?

私のフォームには次のものがあります。

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

1 に答える 1

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();
于 2013-11-11T13:20:46.920 に答える