Elgg  Version master
Public Member Functions | Protected Member Functions | List of all members
Elgg\Database\Relationships Class Reference

Relationships repository contains methods for fetching relationships from database or performing calculations on relationship properties. More...

Inheritance diagram for Elgg\Database\Relationships:
Elgg\Database\Repository Elgg\Database\QueryExecuting

Public Member Functions

 calculate ($function, $property, $property_type=null)
 Apply numeric calculation to a column.
Parameters
string$functionCalculation, e.g. max, min, avg
string$propertyProperty name
string$property_typeProperty type
Returns
int|float
More...
 
 count ()
 Count rows.
Returns
int
More...
 
 execute ()
 Apply correct execution method based on calculation, count or other criteria.
Returns
mixed
More...
 
 get ($limit=null, $offset=null, $callback=null)
 Fetch rows.
Parameters
int$limitNumber of rows to fetch
int$offsetIndex of the first row
callable | false$callbackCallback function to run database rows through
Returns
[]|false
More...
 
- Public Member Functions inherited from Elgg\Database\Repository
 __construct (array $options=[])
 Constructor. More...
 
 __get ($name)
 {} More...
 
 __set ($name, $value)
 {} More...
 
 __unset ($name)
 {} More...
 
 __isset ($name)
 {} More...
 
 batch ($limit=null, $offset=null, $callback=null)
 {Fetch rows as an ElggBatch.
Parameters
int$limitNumber of rows to fetch
int$offsetIndex of the first row
callable | false$callbackCallback function to run database rows through
Returns
ElggBatch
} More...
 
 filter (\Closure $closure)
 {} More...
 
 select ($expression)
 {Add SELECT.
Parameters
mixed$expressionSelect
Returns
static
} More...
 
 join ($joined_table, $joined_alias=null, $x=null, $comparison=null, $y=null, $type=null, $case_sensitive=null)
 {Add JOIN clause Join a database table on an $x to $y comparison.
Parameters
string$joined_tableName of the table (with or without dbprefix)
string$joined_aliasAlias of the joined table If not set, the alias will be assigned automatically
string$xBase column, e.g. 'n_table.entity_guid' This value is NOT a query parameter and will not be sanitized
string$comparisonComparison operator, e.g. '=', 'not like' etc
mixed$yComparison value(s)
string$typeType of the comparison value(s), e.g. ELGG_VALUE_STRING, ELGG_VALUE_INT
bool$case_sensitiveUse case senstivie comparison for string values
Returns
static
} More...
 
 groupBy ($expression)
 {Add GROUP BY.
Parameters
string$expressionGroup by
Returns
static
} More...
 
 having ($expression)
 {Add HAVING.
Parameters
string$expressionHaving
Returns
static
} More...
 
 orderBy ($expression, $direction)
 {Add ORDER BY.
Parameters
string$expressionColumn/calculation
string$directionDirection
Returns
static
} More...
 
 expandInto (QueryBuilder $qb, $table_alias=null)
 Extend query builder with select, group_by, having and order_by clauses from $options. More...
 
- Public Member Functions inherited from Elgg\Database\QueryExecuting
 filter (Closure $closure)
 Filter query prior to execution Callback function will receive QueryBuilder as the first argument and table alias as a second Callback function can either mutate the instance of the QueryBuilder or return a composition expression that will be appended to AND where statements. More...
 

Protected Member Functions

 buildQuery (QueryBuilder $qb)
 Build a database query. More...
 
 buildEntityClause (QueryBuilder $qb)
 Process entity attribute wheres Joins entities table on guid_one|guid_two in relationships table and applies where clauses. More...
 
 buildPairedMetadataClause (QueryBuilder $qb, $clauses, $boolean= 'AND')
 Process metadata name value pairs Joins the metadata table on guid_one|guid_two in relationships table and applies metadata where clauses. More...
 
 buildPairedAnnotationClause (QueryBuilder $qb, $clauses, $boolean= 'AND')
 Process annotation name value pairs Joins the annotation table on guid_one|guid_two in relationships table and applies annotation where clauses. More...
 
 buildPairedRelationshipClause (QueryBuilder $qb, $clauses, $boolean= 'AND')
 Process relationship pairs. More...
 
 getJoinColumn ()
 Return the base column to use in joins. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Elgg\Database\Repository
static with (array $options=[])
 Constructs a new. More...
 
static find (array $options=[])
 Build and execute a new query from an array of legacy options. More...
 
- Protected Attributes inherited from Elgg\Database\Repository
 $options
 

Detailed Description

Relationships repository contains methods for fetching relationships from database or performing calculations on relationship properties.

Since
3.2

Definition at line 21 of file Relationships.php.

Member Function Documentation

Elgg\Database\Relationships::buildEntityClause ( QueryBuilder  $qb)
protected

Process entity attribute wheres Joins entities table on guid_one|guid_two in relationships table and applies where clauses.

Parameters
QueryBuilder$qbQuery builder
Returns
|CompositeExpression|mixed|null|string

Definition at line 218 of file Relationships.php.

Elgg\Database\Relationships::buildPairedAnnotationClause ( QueryBuilder  $qb,
  $clauses,
  $boolean = 'AND' 
)
protected

Process annotation name value pairs Joins the annotation table on guid_one|guid_two in relationships table and applies annotation where clauses.

Parameters
QueryBuilder$qbQuery builder
AnnotationWhereClause[]$clauses Where clauses
string$booleanMerge boolean
Returns
CompositeExpression|string

Definition at line 262 of file Relationships.php.

Elgg\Database\Relationships::buildPairedMetadataClause ( QueryBuilder  $qb,
  $clauses,
  $boolean = 'AND' 
)
protected

Process metadata name value pairs Joins the metadata table on guid_one|guid_two in relationships table and applies metadata where clauses.

Parameters
QueryBuilder$qbQuery builder
MetadataWhereClause[]$clauses Where clauses
string$booleanMerge boolean
Returns
CompositeExpression|string

Definition at line 233 of file Relationships.php.

Elgg\Database\Relationships::buildPairedRelationshipClause ( QueryBuilder  $qb,
  $clauses,
  $boolean = 'AND' 
)
protected

Process relationship pairs.

Parameters
QueryBuilder$qbQuery builder
RelationshipWhereClause[]$clauses Where clauses
string$booleanMerge boolean
Returns
CompositeExpression|string

Definition at line 288 of file Relationships.php.

Elgg\Database\Relationships::buildQuery ( QueryBuilder  $qb)
protected

Build a database query.

Parameters
QueryBuilder$qbQuerybuilder with relationship params
Returns
QueryBuilder

Definition at line 185 of file Relationships.php.

Elgg\Database\Relationships::calculate (   $function,
  $property,
  $property_type = null 
)

Apply numeric calculation to a column.

Parameters
string$functionCalculation, e.g. max, min, avg
string$propertyProperty name
string$property_typeProperty type
Returns
int|float

Exceptions
InvalidParameterException;

Implements Elgg\Database\QueryExecuting.

Definition at line 27 of file Relationships.php.

Elgg\Database\Relationships::count ( )

Count rows.

Returns
int

See also
::count()

Implements Elgg\Database\QueryExecuting.

Definition at line 83 of file Relationships.php.

Elgg\Database\Relationships::execute ( )

Apply correct execution method based on calculation, count or other criteria.

Returns
mixed

Implements Elgg\Database\QueryExecuting.

Definition at line 102 of file Relationships.php.

Elgg\Database\Relationships::get (   $limit = null,
  $offset = null,
  $callback = null 
)

Fetch rows.

Parameters
int$limitNumber of rows to fetch
int$offsetIndex of the first row
callable | false$callbackCallback function to run database rows through
Returns
[]|false

Implements Elgg\Database\QueryExecuting.

Definition at line 134 of file Relationships.php.

Elgg\Database\Relationships::getJoinColumn ( )
protected

Return the base column to use in joins.

Returns
string

Definition at line 303 of file Relationships.php.


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