我有一個resume
表(其中包含)position_type_id
列,該列是position_type
表的外鍵。從下拉列表中不轉讓的模型屬性
在resume
創建表單上,position type
的下拉列表選項從position_type
表中正確拉取,並且它們的ID設置爲選擇的值。一切似乎都進展順利。
當提交表單時,我可以驗證該值將回到在POST變量控制器,但是它們不進入該模型與屬性人口:
$model->attributes=$_POST['Resume'];
這裏是在控制器上create
方法:
public function actionCreate()
{
$model=new Resume;
if(isset($_POST['Resume']))
{
$model->attributes=$_POST['Resume'];
if($model->save())
{
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
下面是從相關模型加載鍵的形式:
echo $form->activeDropDownList(
$model,
'position_type_id',
CHtml::listData(PositionType::model()->findAll(),'id','name')
);
position_type_id
是將外鍵傳遞給PositionType模型的恢復模型的關鍵。它在表格和簡歷模型上拼寫相同。模型之間的關係是:'positionType' => array(self::BELONGS_TO, 'PositionType', 'position_type_id'),
我想我可以從POST數組中獲取每個值並手動設置它們,但似乎這應該「正常工作」。設置屬性後$model
上的值是手動輸入的字段的值,空白表示來自生成的下拉列表的所有字段。
這裏實際上是被生成的內容:
<select name="Resume[position_type_id]" id="Resume_position_type_id">
<option value="1">English Teacher</option>
<option value="2">School Administrator</option>
</select>
通過'POST'形式發佈?在您的模型的'rules()'函數中,'position_type_id'也被設置爲安全的用於批量賦值? – topher 2013-03-17 11:47:31