Ajax在yii2中保存到数据库

时间:2016-09-28 22:16:54

标签: php mysql ajax yii2

我正在尝试使用ajax插入到数据库yii2,但我遇到了问题,它根本不会给我任何错误。它显示成功消息,它可以工作但没有插入。它没有反映在数据库中。

这是我的控制者:

public function actionThumbs()
{
    $thumbs= new Thumbs; 
    if (Yii::$app->request->isAjax) {
        $data = Yii::$app->request->post();
        $thumbs->user=Yii::$app->user->identity->email;
        $thumbs->topic_id=Yii::$app->getRequest()->getQueryParam('id');
        $my_array = explode(":", $data['rate']);
        $thumbs->rate=$my_array[0];
        $thumbs->load($_POST);
        $thumbs->save();
        return ['blog', 'id' => Yii::$app->getRequest()->getQueryParam('id')];
    }
    return $this->redirect(['blog','id' => Yii::$app->getRequest()->getQueryParam('id')]);
}

这是我的ajax文件:

$("#mys").click(function() {
    var rate = "up";
    $.ajax({
        type: 'POST',
        url: 'index.php?r=site%2Fthumbs',
        data: {
            rate: rate,
            _csrf: '<?=Yii::$app->request->getCsrfToken()?>'
        },
        success: function(rate) {
            alert("test");
        },
        error: function (exception) {
            console.log(exception);
        }
    });
});

我的观看文件:

<div class="six columns">
    <?= Html::Button('ups', ['class' => 'btn btn-primary', 
 'name' => 'mys' ,'id'=>'mys']) ?> 
</div>

1 个答案:

答案 0 :(得分:0)

尝试使用

  $thumbs->save(false);

如果插入了值,则检查模型中的验证..规则..

错误条件意味着没有验证..该值保存在db中而不执行任何验证规则