2016-09-28 9 views
0

Ich versuche, in die Datenbank yii2 mit Ajax einfügen, aber ich habe ein Problem und es gibt mir keine Fehler überhaupt. Es zeigt Erfolgsmeldung, wie es funktioniert, aber nichts fügt hinzu. Es spiegelt sich nicht in der Datenbank wider.Ajax Speichern in der Datenbank in yii2

das ist mein Controller:

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')]); 
} 

dies meine Ajax-Datei ist:

$("#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); 
     } 
    }); 
}); 

meiner Ansicht Datei:

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

bitte Ihre einrücken richtig codieren – e4c5

+0

Können Sie Ihre Modellregeln posten? Ich werde helfen, Ihr Problem zu lösen. –

Antwort

0

Versuchen

mit
$thumbs->save(false); 

, wenn der Wert eingefügt werden .. dann überprüfen Sie Ihre Validierung .. Regel in Modell ..

die falsche Bedingung keine Validierung bedeuten .. der Wert in db gespeichert, ohne eine Gültigkeitsregel Durchführung

+0

Hat das, was Sie gefragt haben, herausgefunden, dass der ID-Wert leer war. Deshalb hat es nicht eingefügt. Sah den Fehler im inspect-Element. – arinze