/var/www/vhosts/nabawater/vendor/yiisoft/yii2/db
NameSizeModeActions
conditions/-0755rm
cubrid/-0755rm
mssql/-0755rm
mysql/-0755rm
oci/-0755rm
pgsql/-0755rm
sqlite/-0755rm
ActiveQuery.php315060644editdlrm
ActiveQueryInterface.php45420644editdlrm
ActiveQueryTrait.php63150644editdlrm
ActiveRecord.php297890644editdlrm
ActiveRecordInterface.php212070644editdlrm
ActiveRelationTrait.php232920644editdlrm
AfterSaveEvent.php5530644editdlrm
ArrayExpression.php54000644editdlrm
BaseActiveRecord.php695380644editdlrm
BatchQueryResult.php49050644editdlrm
CheckConstraint.php4580644editdlrm
ColumnSchema.php53560644editdlrm
ColumnSchemaBuilder.php132870644editdlrm
Command.php520260644editdlrm
Connection.php453760644editdlrm
Constraint.php5660644editdlrm
ConstraintFinderInterface.php64540644editdlrm
ConstraintFinderTrait.php112040644editdlrm
DataReader.php85180644editdlrm
DefaultValueConstraint.php4720644editdlrm
Exception.php14570644editdlrm
Expression.php19090644editdlrm
ExpressionBuilder.php7410644editdlrm
ExpressionBuilderInterface.php8600644editdlrm
ExpressionBuilderTrait.php7070644editdlrm
ExpressionInterface.php6150644editdlrm
ForeignKeyConstraint.php9370644editdlrm
IndexConstraint.php5530644editdlrm
IntegrityException.php5460644editdlrm
JsonExpression.php26840644editdlrm
Migration.php269330644editdlrm
MigrationInterface.php12260644editdlrm
PdoValue.php13700644editdlrm
PdoValueBuilder.php6920644editdlrm
Query.php495200644editdlrm
QueryBuilder.php742400644editdlrm
QueryExpressionBuilder.php10440644editdlrm
QueryInterface.php128200644editdlrm
QueryTrait.php151550644editdlrm
Schema.php313770644editdlrm
SchemaBuilderTrait.php114950644editdlrm
SqlToken.php96760644editdlrm
SqlTokenizer.php142080644editdlrm
StaleObjectException.php4470644editdlrm
TableSchema.php31290644editdlrm
Transaction.php93650644editdlrm
ViewFinderTrait.php16140644editdlrm
Edit: /var/www/vhosts/nabawater/vendor/yiisoft/yii2/db/ActiveQueryTrait.php (6315B)
* @author Carsten Brandt * @since 2.0 */ trait ActiveQueryTrait { /** * @var string the name of the ActiveRecord class. */ public $modelClass; /** * @var array a list of relations that this query should be performed with */ public $with; /** * @var bool whether to return each record as an array. If false (default), an object * of [[modelClass]] will be created to represent each record. */ public $asArray; /** * Sets the [[asArray]] property. * @param bool $value whether to return the query results in terms of arrays instead of Active Records. * @return $this the query object itself */ public function asArray($value = true) { $this->asArray = $value; return $this; } /** * Specifies the relations with which this query should be performed. * * The parameters to this method can be either one or multiple strings, or a single array * of relation names and the optional callbacks to customize the relations. * * A relation name can refer to a relation defined in [[modelClass]] * or a sub-relation that stands for a relation of a related record. * For example, `orders.address` means the `address` relation defined * in the model class corresponding to the `orders` relation. * * The following are some usage examples: * * ```php * // find customers together with their orders and country * Customer::find()->with('orders', 'country')->all(); * // find customers together with their orders and the orders' shipping address * Customer::find()->with('orders.address')->all(); * // find customers together with their country and orders of status 1 * Customer::find()->with([ * 'orders' => function (\yii\db\ActiveQuery $query) { * $query->andWhere('status = 1'); * }, * 'country', * ])->all(); * ``` * * You can call `with()` multiple times. Each call will add relations to the existing ones. * For example, the following two statements are equivalent: * * ```php * Customer::find()->with('orders', 'country')->all(); * Customer::find()->with('orders')->with('country')->all(); * ``` * * @return $this the query object itself */ public function with() { $with = func_get_args(); if (isset($with[0]) && is_array($with[0])) { // the parameter is given as an array $with = $with[0]; } if (empty($this->with)) { $this->with = $with; } elseif (!empty($with)) { foreach ($with as $name => $value) { if (is_int($name)) { // repeating relation is fine as normalizeRelations() handle it well $this->with[] = $value; } else { $this->with[$name] = $value; } } } return $this; } /** * Converts found rows into model instances. * @param array $rows * @return array|ActiveRecord[] * @since 2.0.11 */ protected function createModels($rows) { if ($this->asArray) { return $rows; } else { $models = []; /* @var $class ActiveRecord */ $class = $this->modelClass; foreach ($rows as $row) { $model = $class::instantiate($row); $modelClass = get_class($model); $modelClass::populateRecord($model, $row); $models[] = $model; } return $models; } } /** * Finds records corresponding to one or multiple relations and populates them into the primary models. * @param array $with a list of relations that this query should be performed with. Please * refer to [[with()]] for details about specifying this parameter. * @param array|ActiveRecord[] $models the primary models (can be either AR instances or arrays) */ public function findWith($with, &$models) { $primaryModel = reset($models); if (!$primaryModel instanceof ActiveRecordInterface) { /* @var $modelClass ActiveRecordInterface */ $modelClass = $this->modelClass; $primaryModel = $modelClass::instance(); } $relations = $this->normalizeRelations($primaryModel, $with); /* @var $relation ActiveQuery */ foreach ($relations as $name => $relation) { if ($relation->asArray === null) { // inherit asArray from primary query $relation->asArray($this->asArray); } $relation->populateRelation($name, $models); } } /** * @param ActiveRecord $model * @param array $with * @return ActiveQueryInterface[] */ private function normalizeRelations($model, $with) { $relations = []; foreach ($with as $name => $callback) { if (is_int($name)) { $name = $callback; $callback = null; } if (($pos = strpos($name, '.')) !== false) { // with sub-relations $childName = substr($name, $pos + 1); $name = substr($name, 0, $pos); } else { $childName = null; } if (!isset($relations[$name])) { $relation = $model->getRelation($name); $relation->primaryModel = null; $relations[$name] = $relation; } else { $relation = $relations[$name]; } if (isset($childName)) { $relation->with[$childName] = $callback; } elseif ($callback !== null) { call_user_func($callback, $relation); } } return $relations; } }