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

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Error202
Сообщения: 48
Зарегистрирован: 2017.02.21, 14:02

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

Сообщение 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 ругается
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

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

Сообщение futbolim »

В IDE выберите версию php
Error202
Сообщения: 48
Зарегистрирован: 2017.02.21, 14:02

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

Сообщение Error202 »

7.1 стоит... на нем и пишу
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN »

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

/** @var User $user */
if (!$user = User::find()->...)
...
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

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

Сообщение chungachguk »

Создать класс UserQuery и переопределить метод

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

    /**
     * @inheritdoc
     * @return User|array|null
     */
    public function one($db = null)
    {
        return parent::one($db);
    }
Ответить