LLMS_Query_Quiz_Attempt::sql_where()
SQL “where” clause for the query
Return Return
(string)
Source Source
File: includes/class.llms.query.quiz.attempt.php
protected function sql_where() { global $wpdb; $sql = 'WHERE 1'; foreach ( array( 'quiz_id', 'student_id' ) as $key ) { $ids = $this->get( $key ); if ( $ids ) { $prepared = implode( ',', $ids ); $sql .= " AND {$key} IN ({$prepared})"; } } // Add attempt lookup. $val = $this->get( 'attempt' ); if ( '' !== $val ) { $sql .= $wpdb->prepare( ' AND attempt = %d', $val ); } // Add attempt exclude. $exclude = $this->get( 'exclude' ); if ( $exclude ) { $prepared = implode( ',', $exclude ); $sql .= " AND id NOT IN ({$prepared})"; } $status = $this->get( 'status' ); if ( $status ) { $prepared = implode( ',', array_map( array( $this, 'escape_and_quote_string' ), $status ) ); $sql .= " AND status IN ({$prepared})"; } $status_exclude = $this->get( 'status_exclude' ); if ( $status_exclude ) { $prepared = implode( ',', array_map( array( $this, 'escape_and_quote_string' ), $status_exclude ) ); $sql .= " AND status NOT IN ({$prepared})"; } return apply_filters( $this->get_filter( 'where' ), $sql, $this ); }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
4.2.0 | Added exclude arg logic. |
3.35.0 | Better SQL preparation. |
3.16.0 | Introduced. |