Задать вопрос
guyfawkes
@guyfawkes
Guy Fawkes

Nested Data Loading в ExtJS 4?

Здравствуйте.

Мне кажется, что заявленная в ExtJS 4 возможность связывания моделей и загрузки связанных данных сделана, по меньшей мере, странно и не соответствует реалиям при разработке. Поясню: у меня есть модели тренингов, пользователей и связей тренинга с пользователями (в которой находится также некоторое количество дополнительных данных, в том числе внешние ключи, помимо ключа user_id, на ту же таблицу пользователей: assigner_user_id и verifier_user_id (кто назначил тренинг и кто проверил)). В гриде хотелось бы, конечно, не отображать пользователю мало что говорящие id юзеров, а их имена и фамилии. Я считаю, что неправильно делать связки с таблицей юзеров при выборе списка из модели (использую ZF) связей тренингов и пользователей, поскольку модель не должна «знать» о наличии дополнительных, лишних для нее данных. Объединять данные в контроллере (сделав еще один запрос к модели уже непосредственно пользователей с IN'ом с перечислением всех необходимых id пользователей из полученных из модели данных о тренингах) также неверно: итоговыми манипуляциями с выводом данных должно заниматься представление. Поэтому отдаем в него JSON с двумя основными ключами — trainings и users.

А в представлении как раз нет возможности так изящно загрузить два хранилища, чтобы использовать при рендере колонки в гриде полученные по идентификатору имя и фамилию из хранилища с пользователями. Мне говорят: делай иерархическую структуру (с дублирующимися данными!, ведь если у нескольких тренингов могут быть ссылки на одних и тех же пользователей), но в этом случае мне проще сделать объединение данных уже все же на стороне контроллера. Возникает вопрос — можно ли определить поведение загрузки более подходящим образом?
  • Вопрос задан
  • 2728 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы