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

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

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

Сообщение Error202 » 2017.08.12, 11:15

Есть метод

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

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
Сообщения: 1853
Зарегистрирован: 2012.07.08, 19:28
Откуда: Донецк

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

Сообщение futbolim » 2017.08.12, 14:17

В IDE выберите версию php
Все говорят, что нужно кем-то мне становиться.
А я хотел бы остаться собой.

Error202
Сообщения: 44
Зарегистрирован: 2017.02.21, 14:02

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

Сообщение Error202 » 2017.08.12, 22:35

7.1 стоит... на нем и пишу

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

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

Сообщение ElisDN » 2017.08.13, 01:49

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

/** @var User $user */
if (!$user = User::find()->...)
...
Не забудьте пройти мастер-класс по Yii2.

Аватара пользователя
chungachguk
Сообщения: 383
Зарегистрирован: 2012.07.17, 11:52

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

Сообщение chungachguk » 2017.08.13, 07:19

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

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

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

Ответить