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 (klimov.paul@gmail.com)
Inheritance: extends Query, implements yii\db\ActiveQueryInterface, use trait yii\db\ActiveQueryTrait, use trait yii\db\ActiveRelationTrait
示例#1
0
 /**
  * @inheritdoc
  * @return ActiveQuery the newly created [[ActiveQuery]] instance.
  */
 public static function find()
 {
     return Yii::createObject(ActiveQuery::className(), [get_called_class()]);
 }
示例#2
0
 public function buildCursor($db = null)
 {
     return parent::buildCursor($db);
 }
示例#3
0
 /**
  * @inheritdoc
  * @return Proxy|array|null
  */
 public function one($db = null)
 {
     return parent::one($db);
 }
 public function init()
 {
     $this->buildNoInitModel();
     parent::init();
 }