/** * Get selected user list and unselected user list * @param string $id sensitive operation id * @return array */ public function actionListUser($id) { $operationId = new \MongoId($id); $sensitiveOperation = SensitiveOperation::findByPk($operationId); if (empty($sensitiveOperation)) { throw new BadRequestHttpException('Incorrect operation id'); } $accountId = $this->getAccountId(); // the common condition $condition = ['isActivated' => true, 'role' => User::ROLE_OPERATOR, 'accountId' => $accountId]; // query the selected user $selectedUsers = User::findAll(array_merge($condition, ['_id' => ['$in' => $sensitiveOperation->users]])); // query the unselected user $unselectedUsers = User::findAll(array_merge($condition, ['_id' => ['$nin' => $sensitiveOperation->users]])); return ['selectedUsers' => $selectedUsers, 'unselectedUsers' => $unselectedUsers]; }
/** * get user list by accountId * @param MongoId $accountId * @return array **/ public static function getByAccount($accountId) { return User::findAll(['accountId' => $accountId]); }