Ich versuche, Daten aus dem Formular mit yii2 Rest API-Controller, Standard Aktion erstellen zu speichern. Neue Zeile wird in DB erstellt, und ID wird zurückgegeben, aber Daten aus dem POST werden nicht gespeichert - nur Nullen erscheinen in der DB, dann überschreibe ich Aktion durch meine eigene, die gleiche Situation. Aber wenn ich direkt in DB speichern, ohne Ruhe-API-Controller, Daten werden erfolgreich gespeichert. Was kann ein Grund für solch seltsames Speichern in DB sein? Vielen Dank! By the way, in Index I post-Daten im Format sehen kann: { "_csrf": "wergferw", "table_name": { "Summe": 25000, "Währung": 1}}Yii2 Rest erstellen - Speichern in DB
Controller ist sehr einfach:
namespace frontend\controllers;
use yii;
use yii\rest\ActiveController;
use yii\web\Response;
class DemandController extends ActiveController
{
public $modelClass = 'frontend\models\Demands';
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['contentNegotiator']['formats']['application/json']
= Response::FORMAT_JSON;
return $behaviors;
}
}
ich die Antwort in Ruhe erhalten:
<response><id>37</id></response>
Modell von gii
namespace frontend\models;
use Yii;
class Demands extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'demands';
}
public function rules()
{
return [
[['sum', 'currency'], 'required'],
];
}
public function attributeLabels()
{
return [
'sum' => 'Sum',
'currency' => 'Currency',
];
}
}
können Sie den Inhalt der Steuerung und Modell posten? Ich vermute, das Problem liegt irgendwo da drin. – spencer4of6
diese Information hinzugefügt – shustr8
Wie laden Sie die Daten in das Modell? –