ExtJS Tree несколько моделей (вложенных) - PullRequest
0 голосов
/ 22 октября 2011

У меня есть дерево, которое загружается асинхронно. У меня есть две модели, менеджер и пользователь.

Менеджеры могут быть родительскими узлами или конечными узлами, но пользователи могут быть только конечными узлами. Таким образом, у менеджера может быть любое количество менеджеров выше или ниже его, но я, пользователь, могу быть только потомком менеджера.

Я настроил прокси для моделей User и Manager и установил Manager в качестве параметра Model в TreeStore. Я попытался использовать hasMany и ownTo для описания отношений, надеясь, что каждый раз, когда я расширяю узел, отправляется запрос get для пользователей и для менеджеров. Это не работает Я получаю только менеджеров, а не пользователей.

У кого-нибудь есть советы по работе с такими отношениями?

1 Ответ

0 голосов
/ 04 ноября 2011

Создайте новую модель «Сотрудник», которая будет иметь свойство (IsUser), и загрузите в список как менеджеров, так и пользователей IE:

   Ext.regModel('Employee', {
        fields: [
            { name: 'ID', type: 'int' },
            { name: 'Name', type: 'string' },
            { name: 'LastName', type: 'string' },
            //....
            { name: 'IsUser', type: 'int' }
        ]
    });

И SQL-запрос для заполнения должен выглядеть так:

SELECT id, name, lastname, 0 as IsUser

FROM managers ...

UNION

SELECT id, name, lastname, 1 as IsUser

FROM users ...
...