Страница 1 из 1

Проблема с типом возвращаемой переменной

Добавлено: 2017.08.12, 11:15
Error202
Есть метод

Код: Выделить всё

private function getBy(array $condition) : User
    {
        if (!$user = User::find()->andWhere($condition)->limit(1)->one())
        {
            throw new \DomainException('User not found');
        }
        return $user;
    }
Функция возвращает объект User по определению, по факту ActiveRecord...
Можно ли как-то при return указать, что $user не ActiveRecord, а User...

Код работает нормально, IDE ругается

Re: Проблема с типом возвращаемой переменной

Добавлено: 2017.08.12, 14:17
futbolim
В IDE выберите версию php

Re: Проблема с типом возвращаемой переменной

Добавлено: 2017.08.12, 22:35
Error202
7.1 стоит... на нем и пишу

Re: Проблема с типом возвращаемой переменной

Добавлено: 2017.08.13, 01:49
ElisDN

Код: Выделить всё

/** @var User $user */
if (!$user = User::find()->...)
...

Re: Проблема с типом возвращаемой переменной

Добавлено: 2017.08.13, 07:19
chungachguk
Создать класс UserQuery и переопределить метод

Код: Выделить всё

    /**
     * @inheritdoc
     * @return User|array|null
     */
    public function one($db = null)
    {
        return parent::one($db);
    }