Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
Public Member Functions | Public Attributes | List of all members
qubaid_join Class Reference

This class represents a restriction on the set of question_usage ids to include in a larger database query based on JOINing to some other tables. More...

Inheritance diagram for qubaid_join:
qubaid_condition mod_quiz\question\qubaids_for_users_attempts qubaids_for_quiz qubaids_for_quiz_user

Public Member Functions

 __construct ($from, $usageidcolumn, $where='', $params=array())
 Constructor. More...
 
 from_question_attempts ($alias)
 Get the SQL fragment to go in a FROM clause. More...
 
 from_where_params ()
 
 get_hash_code ()
 
 usage_id_in ()
 
 usage_id_in_params ()
 
 where ()
 

Public Attributes

 $from
 
 $params
 
 $usageidcolumn
 
 $where
 

Detailed Description

This class represents a restriction on the set of question_usage ids to include in a larger database query based on JOINing to some other tables.

The general form of the query is something like

SELECT qa.id, qa.maxmark FROM $from JOIN {question_attempts} qa ON qa.questionusageid = $usageidcolumn WHERE $where AND qa.slot = 1

where $from, $usageidcolumn and $where are the arguments to the constructor.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Constructor & Destructor Documentation

◆ __construct()

qubaid_join::__construct (   $from,
  $usageidcolumn,
  $where = '',
  $params = array() 
)

Constructor.

The meaning of the arguments is explained in the class comment.

Parameters
string$fromSQL fragemnt to go in the FROM clause.
string$usageidcolumnthe column in $from that should be made equal to the usageid column in the JOIN clause.
string$whereSQL fragment to go in the where clause.
array$paramsrequired by the SQL. You must use named parameters.

Reimplemented in qubaids_for_quiz_user, and mod_quiz\question\qubaids_for_users_attempts.

Member Function Documentation

◆ from_question_attempts()

qubaid_join::from_question_attempts (   $alias)

Get the SQL fragment to go in a FROM clause.

The SQL that needs to go in the FROM clause when trying to select records from the 'question_attempts' table based on this qubaid_condition.

Parameters
string$alias
Return values
stringSQL fragment.

Reimplemented from qubaid_condition.

◆ from_where_params()

qubaid_join::from_where_params ( )
Return values
arraythe params needed by a query that uses from_question_attempts() and where().

Reimplemented from qubaid_condition.

◆ get_hash_code()

qubaid_condition::get_hash_code ( )
inherited
Return values
string40-character hash code that uniquely identifies the combination of properties and class name of this qubaid condition.

◆ usage_id_in()

qubaid_join::usage_id_in ( )
Return values
stringSQL that can use used in a WHERE qubaid IN (...) query. This method returns the "IN (...)" part.

Reimplemented from qubaid_condition.

◆ usage_id_in_params()

qubaid_join::usage_id_in_params ( )
Return values
arraythe params needed by a query that uses usage_id_in().

Reimplemented from qubaid_condition.

◆ where()

qubaid_join::where ( )
Return values
stringthe SQL that needs to go in the where clause.

Reimplemented from qubaid_condition.


The documentation for this class was generated from the following file: