public function actionAdd() { $likeModel = new Like(); $postData = \Yii::$app->request->post(); \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; // небольшая проверка на случай если уже поставлен, например на другой вкладке браузера $checkModel = Like::find()->where(['user_id' => \Yii::$app->user->getId(), 'model' => $postData['model'], 'item_id' => $postData['itemId']])->one(); if ($checkModel) { return ['response' => true, 'url' => Url::toRoute('/like/element/remove'), 'totalCount' => Like::find()->where(['model' => $postData['model'], 'item_id' => $postData['itemId']])->count()]; } $likeModel->user_id = \Yii::$app->user->getId(); $likeModel->model = $postData['model']; $likeModel->item_id = $postData['itemId']; if ($likeModel->save()) { return ['response' => true, 'url' => Url::toRoute('/like/element/remove'), 'totalCount' => Like::find()->where(['model' => $postData['model'], 'item_id' => $postData['itemId']])->count()]; } return ['response' => false]; }