src/Queries/BaseRelationQuery.php
public function with($with)
    {
        $with = is_string($with) ? func_get_args() : $with;

        if (empty($this->with)) {
            $this->with = $with;
        } elseif (!empty($with)) {
            foreach ($with as $name => $value) {
                if (is_int($name)) {
                    // дубликаты связей будут устранены в normalizeRelations()
                    $this->with[] = $value;
                } else {
                    $this->with[$name] = $value;
                }
            }
        }

        return $this;
    }
public function with($with)
    {
        $with = is_string($with) ? func_get_args() : $with;

        if (empty($this->with)) {
            $this->with = $with;
        } elseif (!empty($with)) {
            foreach ($with as $name => $value) {
                if (is_int($name)) {
                    // дубликаты связей будут устранены в normalizeRelations()
                    $this->with[] = $value;
                } else {
                    $this->with[$name] = $value;
                }
            }
        }

        return $this;
    }
Определяет связи, которые должны быть загружены при выполнении запроса

Передавая массив можно указать ключем - название релейшена, а значением - коллбек для кастомизации запроса

@param array|string $with - связи, которые необходимо жадно подгрузить
// Загрузить Customer и сразу для каждой модели подгрузить orders и country
Customer::query()->with(['orders', 'country'])->getList();

// Загрузить Customer и сразу для каждой модели подгрузить orders, а также для orders загрузить address
Customer::find()->with('orders.address')->getList();

// Загрузить Customer и сразу для каждой модели подгрузить country и orders (только активные)
Customer::find()->with([
'orders' => function (BaseQuery $query) {
$query->filter(['ACTIVE' => 'Y']);
},
'country',
])->all();

@return $this