Yii2 覆盖 Rest Api actioncreate 方法
Yii2 Override Rest Api actioncreate method
谁能告诉我如何重写 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 内部服务器错误的错误和错误消息,例如调用非对象上的成员函数 load() ..如何解决这个问题..
谢谢...
您不是在创建对象,而是将字符串 api\modules\v1\models\Cab
分配给 $model
变量。将分配部分更改为:
$model = new $this->modelClass;
如果出现 "Class not found" 错误,请将前导反斜杠添加到 class 名称:\api\modules\v1\models\Cab
.
关于从字符串创建对象的相关回答:
- Creating PHP class instance with a string
- Dynamically create PHP object based on string
- How to create object from String?
谁能告诉我如何重写 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 内部服务器错误的错误和错误消息,例如调用非对象上的成员函数 load() ..如何解决这个问题.. 谢谢...
您不是在创建对象,而是将字符串 api\modules\v1\models\Cab
分配给 $model
变量。将分配部分更改为:
$model = new $this->modelClass;
如果出现 "Class not found" 错误,请将前导反斜杠添加到 class 名称:\api\modules\v1\models\Cab
.
关于从字符串创建对象的相关回答:
- Creating PHP class instance with a string
- Dynamically create PHP object based on string
- How to create object from String?