問題:strcmp()
パラメータ 2 が文字列であると予想され、配列が指定されています。
このエラー メッセージは、ユーザーが更新するときに表示されます。ユーザーの作成は正常に機能しています。どうすればこの問題を解決できますか?
次のように作成radiobuttonlist
します。
<div style="height:140px; padding-left: 20px;">
<div>
<?php echo $form->labelEx($model,'role'); ?>
<?php
echo $form->radioButtonList(
$model,
'role',
$roles,
array(
'labelOptions'=>array('style'=>'display:inline; padding-right: 1em; vertical-align:middle '), // add this code
)
);
?>
<?php echo $form->error($model,'role'); ?>
</div>
</div>
$roles
コントローラーから来ています:
if(Yii::app()->user->isSuperuser) {
$all_roles=new RAuthItemDataProvider('roles', array('type'=>2, ));
$roles = $all_roles->fetchData();
} else {
$roles = Authitem::model()->findAll('type=2 And name<>:name',array(':name'=>'Superadmin'));
$original_roles = Authassignment::model()->findAll('userid=:userid',array(':userid'=>$model->id));
$model->role = CHtml::listData($original_roles, 'itemname', 'itemname');
$roles = CHtml::listData($roles,'name','name');
//$model->role = array_merge($original_roles, $roles);
//$model->role = (array)$original_roles;
//var_dump($model->role);
//die;
$this->render('update',array(
'model'=>$model,
'profile'=>$profile,
'roles'=>$roles,
//'department'=>$department,
//'designation'=>$designation,
'original_roles'=>$original_roles,
));
}
as を使用すると$form->checkBoxList
、正しく動作します。