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.
ファイルを表示
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
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 |
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
getCollection()
public method
Returns the Mongo collection for this query.
public getCollection ( Connection $db = null ) : Collection |
$db |
Connection |
Mongo connection. |
return |
Collection |
collection instance. |
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.
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. |
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. |
This method is internally used to convert the data fetched from MongoDB
into the format as required by this query.