PHP Class yii\mongodb\ActiveQuery

An ActiveQuery can be a normal query or be used in a relational context. ActiveQuery instances are usually created by [[ActiveRecord::find()]]. Relational queries are created by [[ActiveRecord::hasOne()]] and [[ActiveRecord::hasMany()]]. Normal Query ------------ ActiveQuery instances are usually created by [[ActiveRecord::find()]]. Because ActiveQuery extends from Query, one can use query methods, such as [[where()]], [[orderBy()]] to customize the query options. ActiveQuery also provides the following additional query options: - [[with()]]: list of relations that this query should be performed with. - [[asArray()]]: whether to return each record as an array. These options can be configured using methods of the same name. For example: php $customers = Customer::find()->with('orders')->asArray()->all(); Relational query ---------------- In relational context ActiveQuery represents a relation between two Active Record classes. Relational ActiveQuery instances are usually created by calling [[ActiveRecord::hasOne()]] and [[ActiveRecord::hasMany()]]. An Active Record class declares a relation by defining a getter method which calls one of the above methods and returns the created ActiveQuery object. A relation is specified by [[link]] which represents the association between columns of different collections; and the multiplicity of the relation is indicated by [[multiple]]. If a relation involves a junction collection, it may be specified by [[via()]]. This methods may only be called in a relational context. Same is true for [[inverseOf()]], which marks a relation as inverse of another relation.
Since: 2.0
Author: Paul Klimov ([email protected])
Inheritance: extends Query, implements yii\db\ActiveQueryInterface, use trait yii\db\ActiveQueryTrait, use trait yii\db\ActiveRelationTrait
Show file Open project: yiisoft/yii2-mongodb Class Usage Examples

Public Methods

Method Description
__construct ( array $modelClass, array $config = [] ) Constructor.
all ( Connection $db = null ) : array | ActiveRecord Executes query and returns all results as an array.
buildCursor ( $db = null )
exists ( $db = null )
getCollection ( Connection $db = null ) : Collection Returns the Mongo collection for this query.
init ( ) Initializes the object.
modify ( array $update, array $options = [], Connection $db = null ) : ActiveRecord | array | null Performs 'findAndModify' query and returns a single row of result.
one ( Connection $db = null ) : ActiveRecord | array | null Executes query and returns a single row of result.
populate ( array $rows ) : array Converts the raw query results into the format as specified by this query.

Method Details

__construct() public method

Constructor.
public __construct ( array $modelClass, array $config = [] )
$modelClass array the model class associated with this query
$config array configurations to be applied to the newly created query object

all() public method

Executes query and returns all results as an array.
public all ( Connection $db = null ) : array | ActiveRecord
$db Connection the Mongo connection used to execute the query. If null, the Mongo connection returned by [[modelClass]] will be used.
return array | ActiveRecord the query results. If the query results in nothing, an empty array will be returned.

buildCursor() public method

public buildCursor ( $db = null )

exists() public method

public exists ( $db = null )

getCollection() public method

Returns the Mongo collection for this query.
public getCollection ( Connection $db = null ) : Collection
$db Connection Mongo connection.
return Collection collection instance.

init() public method

This method is called at the end of the constructor. The default implementation will trigger an [[EVENT_INIT]] event. If you override this method, make sure you call the parent implementation at the end to ensure triggering of the event.
public init ( )

modify() public method

Warning: in case 'new' option is set to 'false' (which is by default) usage of this method may lead to unexpected behavior at some Active Record features, because object will be populated by outdated data.
public modify ( array $update, array $options = [], Connection $db = null ) : ActiveRecord | array | null
$update array update criteria
$options array list of options in format: optionName => optionValue.
$db Connection the Mongo connection used to execute the query.
return ActiveRecord | array | null the original document, or the modified document when $options['new'] is set. Depending on the setting of [[asArray]], the query result may be either an array or an ActiveRecord object. Null will be returned if the query results in nothing.

one() public method

Executes query and returns a single row of result.
public one ( Connection $db = null ) : ActiveRecord | array | null
$db Connection the Mongo connection used to execute the query. If null, the Mongo connection returned by [[modelClass]] will be used.
return ActiveRecord | array | null a single row of query result. Depending on the setting of [[asArray]], the query result may be either an array or an ActiveRecord object. Null will be returned if the query results in nothing.

populate() public method

This method is internally used to convert the data fetched from MongoDB into the format as required by this query.
public populate ( array $rows ) : array
$rows array the raw query result from MongoDB
return array the converted query result