我目前正在 yii-framework 中创建一个应用程序。该应用程序的目的之一是能够在不同的预定义类别和平台上对游戏进行评分。一个游戏可以属于多个平台。
一个例子:我选择给一个名为“x”的游戏评分。我可以看到游戏在 4 个不同的平台上发布,所以当我对游戏进行评分时,我会选择我玩它的平台。此后,我对 5 个不同类别的游戏进行评分。如果我稍后回到这个游戏,我应该能够更新该评级,但我也应该能够为不同的平台创建一个新的评级。
尤其是我不确定的最后一部分。我对如何做到这一点的猜测是创建一个包含游戏所属平台的下拉列表,并让一些 AJAX 函数决定它应该创建新评级还是更新现有评级。但是,我不知道如何做到这一点,因为我很少使用 AJAX 做某事。
你能给我一些关于如何实现这一目标的提示吗?
编辑:看起来我可能没有尝试过什么,所以我会发布一些我到目前为止创建的代码(出于某种原因,我将它命名为排名而不是评级......)。如您所见,它没有任何 AJAX,并且没有考虑平台:
protected function createRanking($model)
{
$user_id=Yii::app()->user->getId();
$game_id=$model->id;
$rank=ranking::model()->find("create_user_id=$user_id and game_id=$game_id");
if($rank===null){
$ranking=new Ranking;
}
else{
$ranking=$rank;
}
if(isset($_POST['Ranking']))
{
$ranking->game_id=$model->id;
$ranking->attributes=$_POST['Ranking'];
$valid = $ranking->validate();
if ($valid)
{
$ranking->save(false);
$this->redirect(array('index'));
}
}
return $ranking;
}