Yii2 Rest api put方法返回内部服务器错误 - 由于未知原因无法更新对象

时间:2017-02-22 14:39:43

标签: php rest api yii yii2

我在yii2中创建了一个API,除了put方法之外,所有方法都正常工作。我在before_save方法中获取数据,但在保存时会收到以下错误。

  

{“name”:“内部服务器错误”,“消息”:“无法更新   不明原因的对象。“,”“代码”:0,“状态”:500,
  “type”:“yii \ web \ ServerErrorHttpException”}

这是我的控制器文件

ProductsController.php

<?php

namespace app\controllers;

use yii\rest\ActiveController;
use yii\filters\auth\HttpBearerAuth;


class ProductsController extends ActiveController {

    public $modelClass = 'app\models\Product';

    public function __construct($id, $module, $config = array()) {

        parent::__construct($id, $module, $config);
    }


    public function behaviors() {
        $behaviors = parent::behaviors();

        $behaviors['authenticator'] = [
            'class' => HttpBearerAuth::className(),
        ];

        return $behaviors;
    }

}

这是模型文件 Product.php

<?php

namespace app\models;

use yii\db\ActiveRecord;
use yii;

class Product extends ActiveRecord {

    public static function tableName() {
        return '{{%o2o_products}}';
    }

    public function rules() {
        return [
            [['name'], 'required'],
        ];
    }
}

这是我的web.php

'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => false,
            'showScriptName' => false,
            'rules' => [
                '<alias:index|about|contact|login>' => 'site/<alias>',
                ['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
                ['class' => 'yii\rest\UrlRule', 'controller' => 'products'],
                ['class' => 'yii\rest\UrlRule', 'controller' => 'orders'],

            ],
        ]

我尝试在create和on update语句中删除rule。但没有成功。

如果您需要其他任何东西,请告诉我。

0 个答案:

没有答案