add count current answers at user Questionnaire

This commit is contained in:
2024-02-07 00:38:10 +03:00
parent 4845f7944b
commit 6d23a9825a
3 changed files with 33 additions and 3 deletions

View File

@ -35,6 +35,9 @@ use \backend\modules\questionnaire\models\Answer;
*/
class UserQuestionnaire extends ActiveRecord
{
const STATUS_ACTIVE = 1;
const STATUS_DISABLE = 0;
/**
* {@inheritdoc}
*/
@ -148,6 +151,15 @@ class UserQuestionnaire extends ActiveRecord
->viaTable('user_response', ['user_questionnaire_uuid' => 'uuid']);
}
/**
* @param $questionnaire_id
* @return bool|int|string|null
*/
public function countCorrectAnswers($questionnaire_id): bool|int|string|null
{
return UserResponse::find()->where(['user_questionnaire_uuid' => $questionnaire_id, 'answer_flag' => 1])->count();
}
/**
* @throws InvalidConfigException
*/
@ -182,7 +194,7 @@ class UserQuestionnaire extends ActiveRecord
public static function findActiveUserQuestionnaires($user_id): array
{
return self::find()
return self::find()
->where(['user_id' => $user_id])
->andWhere(['not', ['user_questionnaire.status' => 0]])
->all();