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

Metadata repository contains methods for fetching metadata from database or performing calculations on entity properties. More...

Inheritance diagram for Elgg\Database\Metadata:
Elgg\Database\Repository

Public Member Functions

 count ()
 {} More...
 
 calculate ($function, $property, $property_type=null)
 Performs a mathematical calculation on metadata or metadata entity's properties. More...
 
 get ($limit=null, $offset=null, $callback=null)
 Fetch metadata. More...
 
 execute ()
 Execute the query resolving calculation, count and/or batch options. 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...
 
 count ()
 Count rows. More...
 
 calculate ($function, $property, $property_type=null)
 Apply numeric calculation to a column. More...
 
 get ($limit=null, $offset=null, $callback=null)
 Fetch rows. More...
 
 batch ($limit=null, $offset=null, $callback=null)
 Fetch rows as an ElggBatch. More...
 
 execute ()
 Apply correct execution method based on calculation, count or other criteria. More...
 
 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...
 
 select ($expression)
 Add SELECT. More...
 
 join ($joined_table, $joined_alias=null, $join_column=null, $comparison=null, $values=null, $type=null, $case_sensitive=null)
 Add JOIN clause Join a database table on an $x to $y comparison. More...
 
 groupBy ($expression)
 Add GROUP BY. More...
 
 having ($expression)
 Add HAVING. More...
 
 orderBy ($expression, $direction)
 Add ORDER BY. More...
 
 expandInto (QueryBuilder $qb, $table_alias=null)
 Extend query builder with select, group_by, having and order_by clauses from $options. More...
 

Protected Member Functions

 buildQuery (QueryBuilder $qb)
 Build a database query. More...
 
 buildEntityWhereClause (QueryBuilder $qb)
 Process entity attribute wheres Joins entities table on entity guid in metadata table and applies where clauses. More...
 
 buildPairedMetadataClause (QueryBuilder $qb, $clauses, $boolean= 'AND')
 Process metadata name value pairs Applies where clauses to the selected metadata table. More...
 
 buildPairedAnnotationClause (QueryBuilder $qb, $clauses, $boolean= 'AND')
 Process annotation name value pairs Joins annotation table on entity_guid in the metadata table and applies where clauses. More...
 
 buildPairedRelationshipClause (QueryBuilder $qb, $clauses, $boolean= 'AND')
 Process relationship name value pairs Joins relationship table on entity_guid in the metadata table and applies where clauses. 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
QueryOptions $options
 

Detailed Description

Metadata repository contains methods for fetching metadata from database or performing calculations on entity properties.

Definition at line 20 of file Metadata.php.

Member Function Documentation

Elgg\Database\Metadata::buildEntityWhereClause ( QueryBuilder  $qb)
protected

Process entity attribute wheres Joins entities table on entity guid in metadata table and applies where clauses.

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

Definition at line 211 of file Metadata.php.

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

Process annotation name value pairs Joins annotation table on entity_guid in the metadata table and applies where clauses.

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

Definition at line 248 of file Metadata.php.

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

Process metadata name value pairs Applies where clauses to the selected metadata table.

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

Definition at line 228 of file Metadata.php.

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

Process relationship name value pairs Joins relationship table on entity_guid in the metadata table and applies where clauses.

Note
Note that $relationship_join_on does not apply here, as there is only one guid column in the metadata table
Parameters
QueryBuilder$qbQuery builder
RelationshipWhereClause[]$clauses Where clauses
string$booleanMerge boolean
Returns
CompositeExpression|string

Definition at line 276 of file Metadata.php.

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

Build a database query.

Parameters
QueryBuilder$qbthe Elgg QueryBuilder
Returns
QueryBuilder

Definition at line 177 of file Metadata.php.

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

Performs a mathematical calculation on metadata or metadata entity's properties.

Parameters
string$functionValid numeric function
string$propertyProperty name
string$property_type'attribute'|'metadata'|'annotation'
Returns
int|float
Exceptions
DomainException

Definition at line 52 of file Metadata.php.

Elgg\Database\Metadata::count ( )

{}

Definition at line 25 of file Metadata.php.

Elgg\Database\Metadata::execute ( )

Execute the query resolving calculation, count and/or batch options.

Returns
array|[]|[]|int|
Exceptions
LogicException

Definition at line 142 of file Metadata.php.

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

Fetch metadata.

Parameters
int$limitLimit
int$offsetOffset
callable$callbackCustom callback
Returns
[]

Definition at line 104 of file Metadata.php.


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