Stworzyłem panel w celu dodania nowej grupy użytkowników, za każdym razem kiedy nacisnę przycisk formularza, wszystkie rekordy dodają się 3 lub 4 razy.
Model:
<?php
class GroupModel extends CFormModel
{
public $group_id;
public $group_name;
public $group_moderator;
public $group_deleted;
public function rules()
{
return array(
array('group_name, group_moderator', 'required'),
array('group_moderator', 'numerical', 'integerOnly'=>true),
array('group_name', 'length', 'max'=>255),
);
}
public function attributeLabels()
{
return array(
'group_id' => 'ID grupy',
'group_name' => 'Nazwa grupy',
'group_moderator' => 'Moderator grupy',
);
}
public function SaveGroup()
{
$GroupName = $this->group_name;
$GroupModerator = $this->group_moderator;
$SqlQuery = "INSERT INTO
crm_group
(
group_name,
group_moderator
)
VALUES
(
:group_name,
:group_moderator
)
";
$Command = Yii::app()->db->createCommand($SqlQuery);
$Command->bindParam(":group_name",$GroupName,PDO::PARAM_STR);
$Command->bindParam(":group_moderator",$GroupModerator,PDO::PARAM_STR);
$DataBack = $Command->execute();
return $DataBack;
}
}
?>
Kontroler:
public function actionGroupAddAdmin()
{
$GroupModelData = new GroupModel;
if(isset($_POST['GroupModel']))
{
$GroupModelData->attributes=$_POST['GroupModel'];
if($GroupModelData->validate())
{
echo $GroupModelData->SaveGroup();
$GroupModelData->group_name = '';
$GroupModelData->group_moderator = '';
$GroupUpdated = true;
}
}
$ModeratorsOfGroup = GroupModel::ModeratorsGroups();
$this->render('groupaddadmin', array('GroupModelData'=>$GroupModelData,'ModeratorsOfGroup'=>$ModeratorsOfGroup,'GroupUpdated'=>$GroupUpdated));
}