@ukoHka
Всего понемногу

Как вернуть custom relation модели через ajax?

В таблице пользователей есть поля Фамилия Имя Отчество
В модели присутствует функция getInitials():
public function getInitials()
    {
        return $this->surname . ' ' . mb_substr($this->name, 0, 1, 'UTF-8') . '.' . mb_substr($this->patronymic, 0, 1, 'UTF-8') . '.';
    }

На сервере модель спокойно передается между функциями и везде можно вызвать $model->initials, но при использовании ajax это отношение пропадает. Поскольку это не связь в бд, joinWith() не работает.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
На сервере модель спокойно передается между функциями и везде можно вызвать $model->initials, но при использовании ajax это отношение пропадает.

Обработка аякса тоже происходит на сервере, и что означает пропадает? метод у класса пропасть не может, вы б ошибку привели которая у Вас появляется
Поскольку это не связь в бд, joinWith() не работает.

А при чем тут joinWith если метод getInitials склеивает данные из полей модели? Скорее всего дело не в том что что-то пропадает. Скорее всего у Вас проблема в чем то другом, например не инстанцирована модель ... В общем нужно более подробное описание что означает "пропадает" и код обработки Ajax-запроса
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
но при использовании ajax это отношение пропадает

оно никуда не пропадает. Покажите экшен, который получает ajax запрос
Поскольку это не связь в бд, joinWith() не работает

В вашем коде не найдена связь. При чем тут бд и джоины? Это обычный гетер. И не зависимо от ajax, должно работать $model->initials
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы