I am using a rest api in yii2 with Authorization : Bearer and my update action requires sending data using PUT. I have configured the actionUpdate completely but somehow i am not getting any data in Request PUT.
I found few articles online about problems with Yii2 PUT but could not find out weather there is any solution to that yet or not?
One of the article or issue is github issue and it points to this github issue
Ad if no solution yet than what alternative should i use for Update action.
Here is my actionUpdate code
public function actionUpdate($id)
{
    $params = Yii::$app->request->bodyParams;
    $model = Event::find()->where(['event_id'=>$id])->andWhere(['partner_id' => Yii::$app->user->id])->one();
    if($model !== null){
        $model->load($params, '');
        $model->partner_id = Yii::$app->user->id;
        $model->updated_date = time();
        if ($model->save()) {
            $this->setHeader(200);
            echo json_encode(array('status'=>1,'data'=>array_filter($model->attributes)),JSON_PRETTY_PRINT);
        }
    }
 }
This is a screenshot of debug screen. See the event_name attribute.
That was screenshot after the execution of $model->load($params,'') line.
I am calling the service like following and not able to Update the data properly. My service works fine through postman.So i guess i am missing something in CURL request.
$service_url = 'http://localhost/site-api/api/web/v1/events/'.$eventDetailDBI->gv ('id');
            $curl = curl_init($service_url);
            $curl_post_data = array(
                "event_name" => $eventDetailDBI->gv ('name'),
            );
            $header = array();
            $header[] = 'Authorization: Bearer 4p9mj82PTl1BWSya7bfpU_Nm';
            $header[] = 'Content-Type: application/x-www-form-urlencoded';
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_HTTPHEADER,$header);
            curl_setopt($curl, CURLOPT_PUT, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
            $curl_response = curl_exec($curl);
            $json = json_decode($curl_response, true);
            curl_close($curl);
I am getting correct data in my POST fields and passing correct data but the service doesnt update any data.
Thank you

 
    