ORM C++
Loading...
Searching...
No Matches
orm::Query< T > Class Template Reference

A template class representing a select query in the ORM framework. More...

#include <query.hpp>

Public Member Functions

 Query ()
 Constructs a Query object.
auto where (const query::Predicate &predicate) -> Query< T > &
 Replaces the WHERE predicate.
auto andWhere (const query::Predicate &predicate) -> Query< T > &
 Adds a predicate with AND.
auto orWhere (const query::Predicate &predicate) -> Query< T > &
 Adds a predicate with OR.
template<typename... Orders>
auto orderBy (Orders... orders) -> Query< T > &
 Sets the ORDER BY clauses for the select query.
auto distinct () -> Query< T > &
 Select distinct rows.
auto offset (std::size_t offset) -> Query< T > &
 Sets the OFFSET clause for the select query.
auto limit (std::size_t limit) -> Query< T > &
 Sets the LIMIT clause for the select query.
auto disableJoining () -> Query< T > &
 Disables joining for the select query.

Friends

class orm::Database
 Database class is a friend class of Query for access to the query data.

Detailed Description

template<typename T>
class orm::Query< T >

A template class representing a select query in the ORM framework.

This class provides functionality for building a select query.

Template Parameters
TThe type of the query.

Member Function Documentation

◆ andWhere()

template<typename T>
auto orm::Query< T >::andWhere ( const query::Predicate & predicate) -> Query< T > &
inline

Adds a predicate with AND.

Parameters
predicate

◆ disableJoining()

template<typename T>
auto orm::Query< T >::disableJoining ( ) -> Query< T > &
inline

Disables joining for the select query.

Note
Only ids fields will be set in related models.
Returns
A reference to the QueryBuilder object.

◆ distinct()

template<typename T>
auto orm::Query< T >::distinct ( ) -> Query< T > &
inline

Select distinct rows.

Returns
A reference to the QueryBuilder object.

◆ limit()

template<typename T>
auto orm::Query< T >::limit ( std::size_t limit) -> Query< T > &
inline

Sets the LIMIT clause for the select query.

Parameters
limitThe maximum number of rows to return.
Returns
A reference to the QueryBuilder object.

◆ offset()

template<typename T>
auto orm::Query< T >::offset ( std::size_t offset) -> Query< T > &
inline

Sets the OFFSET clause for the select query.

Parameters
offsetThe number of rows to skip.
Returns
A reference to the QueryBuilder object.

◆ orderBy()

template<typename T>
template<typename... Orders>
auto orm::Query< T >::orderBy ( Orders... orders) -> Query< T > &
inline

Sets the ORDER BY clauses for the select query.

Parameters
ordersThe ORDER BY clauses.
Returns
A reference to the QueryBuilder object.

◆ orWhere()

template<typename T>
auto orm::Query< T >::orWhere ( const query::Predicate & predicate) -> Query< T > &
inline

Adds a predicate with OR.

Parameters
predicate

◆ where()

template<typename T>
auto orm::Query< T >::where ( const query::Predicate & predicate) -> Query< T > &
inline

Replaces the WHERE predicate.

Parameters
predicate

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