QuestionGroup

Extends \LSActiveRecord

Class QuestionGroup

package

Default

Methods

attributeLabels

attributeLabels() 
inheritdoc

Make sure we don't save a new question group while the survey is active.

beforeSave() 
inheritdoc

Lists the behaviors of this model

behaviors() : array
inherited

Below is a list of all behaviors we register:

see \CTimestampBehavior \PluginEventBehavior

Response

array

deleteAllByAttributes

deleteAllByAttributes(array $attributes, string $condition = '', array $params = array()) : integer
inherited
todo

This should also be moved to the behavior at some point. This method overrides the parent in order to raise PluginEvents for Bulk delete operations.

Filter Criteria are wrapped into a CDBCriteria instance so we have a single instance responsible for holding the filter criteria to be passed to the PluginEvent, this also enables us to pass the fully configured CDBCriteria instead of the original Parameters.

See {@link find()} for detailed explanation about $condition and $params.

Arguments

$attributes

array

list of attribute values (indexed by attribute names) that the active records should match. An attribute value can be an array which will be used to generate an IN condition.

$condition

string

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

integer

number of rows affected by the execution.

deleteWithDependency

deleteWithDependency(integer $groupId, integer $surveyId) : integer|null
static

Arguments

$groupId

integer

$surveyId

integer

Response

integer|null

Finds all active records satisfying the specified condition but returns them as array

findAllAsArray(\CDbCriteria $condition = '', array $params = array()) : array
inherited

See \find() for detailed explanation about $condition and $params.

Arguments

$condition

\CDbCriteria

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

array

list of active records satisfying the specified condition. An empty array is returned if none is found.

getAllGroups

getAllGroups(mixed|array $condition, array<mixed,string> $order = false) : \CDbDataReader

Arguments

$condition

mixed|array

$order

array<mixed,string>

Response

\CDbDataReader

getAllRecords

getAllRecords( $condition = false,  $order = false,  $return_query = true) 

Arguments

$condition

$order

$return_query

getbuttons

getbuttons() : string

Response

string

Returns the first question group in the survey

getFirstGroup(integer $surveyId) : \QuestionGroup
static

Arguments

$surveyId

integer

Response

\QuestionGroup

Get group description

getGroupDescription(integer $iGroupId, string $sLanguage) : string

Arguments

$iGroupId

integer

$sLanguage

string

Response

string

getGroups

getGroups(integer $surveyid) : array

Arguments

$surveyid

integer

Response

array

Return the max value for a field

getMaxId(string $field = null, boolean $forceRefresh = false) : false|integer
inherited

This is a convenience method, that uses the primary key of the model to retrieve the highest value.

Throws
\Exception

Arguments

$field

string

The field that contains the Id, when null primary key is used if it is a single field

$forceRefresh

boolean

Don't use value from static cache but always requery the database

Response

false|integer

Return the min value for a field

getMinId(string $field = null, boolean $forceRefresh = false) : false|integer
inherited

This is a convenience method, that uses the primary key of the model to retrieve the highest value.

Throws
\Exception

Arguments

$field

string

The field that contains the Id, when null primary key is used if it is a single field

$forceRefresh

boolean

Don't use value from static cache but always requery the database

Response

false|integer

getQuestionIdsInGroup

getQuestionIdsInGroup(integer $groupId) : array
static

Arguments

$groupId

integer

Response

array

getTotalGroupsWithoutQuestions

getTotalGroupsWithoutQuestions( $surveyid) 
static

Arguments

$surveyid

Used in frontend helper, buildsurveysession.

getTotalGroupsWithQuestions(integer $surveyid) : integer
static

Arguments

$surveyid

integer

Response

integer

This functions insert question group data in the form of array('<grouplanguage>'=>array( <array of fieldnames => values >)) It will take care of maintaining the group ID

insertNewGroup(mixed $aQuestionGroupData) : boolean|integer

Arguments

$aQuestionGroupData

mixed

Response

boolean|integer

Insert an array into the groups table Returns false if insertion fails, otherwise the new GID

insertRecords(array $data) : boolean|integer

Arguments

$data

array

Response

boolean|integer

model

model( $class = __CLASS__) : \QuestionGroup
static
inheritdoc

Arguments

$class

Response

\QuestionGroup

primaryKey

primaryKey() 
inheritdoc

Modified version that default to do the same as the original, but allows via a third parameter to retrieve the result as array instead of active records. This solves a joining problem. Usage via findAllAsArray method

query(\CDbCriteria $criteria, boolean $all = false, boolean $asAR = true) : mixed
inherited

Performs the actual DB query and populates the AR objects with the query result. This method is mainly internally used by other AR query methods.

since 1.1.7

Arguments

$criteria

\CDbCriteria

the query criteria

$all

boolean

whether to return all data

$asAR

boolean

Response

mixed

the AR objects populated with the query result

relations

relations() 
inheritdoc

rules

rules() 
inheritdoc

tableName

tableName() 
inheritdoc

updateGroupOrder

updateGroupOrder(integer $sid, string $lang, integer $position) 

Arguments

$sid

integer

$lang

string

$position

integer

Properties

aQuestions

aQuestions : 

Type(s)

gid

gid : integer

ID

Type(s)

integer

sid

sid : integer

Survey ID

Type(s)

integer

group_name

group_name : string

Question group display name

Type(s)

string

group_order

group_order : integer

Group order number (max 100 chars)

Type(s)

integer

description

description : string

Group display description

Type(s)

string

language

language : string

Language code (eg: 'en')

Type(s)

string

randomization_group

randomization_group : string

Randomization group

Type(s)

string

grelevance

grelevance : string

Group's relevane equation

Type(s)

string

survey

survey : \Survey

Type(s)

\Survey

questions

questions : array<mixed,\Question>

Questions without subquestions

Type(s)

array<mixed,\Question>