public static function isFavourite($objectId, $objectType, $createdBy) { $model = UserFavourite::findOne(['object_id' => $objectId, 'object_type' => $objectType, 'created_by' => $createdBy]); return $model ? true : false; }
public function actionFavourite() { Yii::$app->response->format = 'json'; $params = Yii::$app->request->post(); $result = array(); $model = UserFavourite::findOne(['object_id' => $params['object_id'], 'object_type' => $params['object_type'], 'created_by' => Yii::$app->user->id]); if (!$model) { $model = new UserFavourite(); $model->setScenario('create'); $model->object_id = $params['object_id']; $model->object_type = $params['object_type']; $model->created_by = Yii::$app->user->id; $model->created_time = new \MongoDate(); if ($model->save()) { $result['status'] = 'ok'; $result['action'] = 'add'; $result['message'] = Yii::t('job', 'Added to favourites list successfully.'); } else { $result['status'] = 'fail'; $result['message'] = Yii::t('job', 'There is a error. Please try a gain.'); } } else { //unfavourite if ($model->delete()) { $result['status'] = 'ok'; $result['action'] = 'remove'; $result['message'] = Yii::t('job', 'Removed from favourites list successfully.'); } else { $result['status'] = 'fail'; $result['message'] = Yii::t('job', 'There is a error. Please try a gain.'); } } return $result; }