Как оптимизировать relation ?

Обсуждение документации второй версии фреймворка. Переводы Cookbook и авторские рецепты.
Ответить
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Как оптимизировать relation ?

Сообщение zxczxc12 »

Hi

Всё работает , Но тяга к прекрасному не даёт покоя :-)

Модель:

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

    public function getUserOperator()
    {
        return $this->hasOne(ServiceOperator::className(), ['id' => 'operator_id']);
    }

    public function getUserOperatorModuleName()
    {
        return $this->getUserOperator()->one()->module_name;
    }
и во вьюхе вот так:

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

            [
                'attribute' => 'operator_id',
                'format' => 'html',
                'header' => 'Оператор',
                'value' => function ($model){
                    return '<img style="width: 20px" src='"/'.$model->UserOperatorModuleName.'.png">';
                }
            ]

Можно ли не делать метод getUserOperatorModuleName() а сразу как то использовать relation getUserOperator() прям во вьюхе ?

Спасибо !
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как оптимизировать relation ?

Сообщение zelenin »

$model->userOperator->module_name
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как оптимизировать relation ?

Сообщение zelenin »

$model->UserOperatorModuleName - при переносе на продакшн столкнетесь с ошибкой, надо $model->userOperatorModuleName
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Как оптимизировать relation ?

Сообщение zxczxc12 »

Самое то .
Спасибо большое !
Ответить