【问题标题】:Yii2 Override Rest Api actioncreate methodYii2 覆盖 Rest Api actioncreate 方法
【发布时间】:2016-12-26 06:49:37
【问题描述】:

谁能告诉我如何覆盖 actioncreate 和 actionupdate 方法 yii2 rest api..

class CabController extends ActiveController
  {
     public $modelClass = 'api\modules\v1\models\Cab';

      public function actions(){

        $actions = parent::actions();           

        unset($actions['create']);
        unset($actions['update']);

        return $actions;
    }

     public function actionCreate(){

        Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;

        $model = $this->modelClass;
       $model->load(Yii::$app->request->post());
       $cur_time = date('Y-m-d H:i:s');
       $model->date_created  =  $cur_time;
       $$model->save(false);
  }  

如果我这样做意味着我收到了 500 内部服务器错误之类的错误和错误消息,例如 Call to a member function load() on a non-object ..如何解决此问题.. 谢谢...

【问题讨论】:

    标签: php yii2-advanced-app


    【解决方案1】:

    您不是在创建对象,而是将字符串api\modules\v1\models\Cab 分配给$model 变量。将分配部分更改为:

    $model = new $this->modelClass;
    

    如果出现“找不到类”错误,请在类名前添加反斜杠:\api\modules\v1\models\Cab

    关于从字符串创建对象的相关答案:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多