Модель привязки с тем же идентификатором не работает с фоновой сеткой в ​​Backbone.js

Я привязываю класс модели пользователя к фоновой сетке. Модель пользователя содержит идентификатор, имя, домен. Наша цель — отобразить пользователей, соответствующих разным доменам. Следовательно, один и тот же пользователь может присутствовать в нескольких доменах. На самом деле у нас будут записи с одинаковым идентификатором, именем, но с другим доменом.

Следовательно, при привязке отображается только первая запись. Как я могу отобразить другие записи? Обратите внимание, что для сохранения уникальности я могу добавить столбец recordId. Но я не могу внести какие-либо изменения в существующий столбец идентификатора. Я заметил, что если мой идентификатор содержит уникальное значение, проблемы решаются. Но я не могу внести какие-либо изменения в столбец Id. Пожалуйста помоги.

Дивья


person user3323130    schedule 14.06.2017    source источник
comment
Пожалуйста, включите минимально воспроизводимый пример.   -  person Emile Bergeron    schedule 14.06.2017


Ответы (2)


Ну, это немного из теории баз данных, но это похоже на отношения «один ко многим» между таблицами. Это правда, что идентификатор пользователя появляется несколько раз, но на самом деле уникальной здесь должна быть пара (идентификатор пользователя, идентификатор домена).

Таким образом, вы можете сопоставить свою коллекцию пользователей, скажем, с коллекцией UsersWithDomains, где каждая запись имеет уникальный идентификатор и атрибуты user_id и domain_id.

Чтобы сопоставить вашу коллекцию, я предлагаю использовать методы подчеркивания, которые возвращают обратно массив НЕ так что вам нужно помнить об этом, чтобы не забыть снова сделать их коллекциями.

person vassiliskrikonis    schedule 15.06.2017

Это зависит от того, как вы реализовали пользовательский интерфейс, но вы можете создать новый атрибут, например «идентификатор данных», и присвоить ему уникальное значение, представляющее собой комбинацию идентификатора и домена. Затем используйте идентификатор данных для всех манипуляций так же, как и для идентификатора. Пример: $([data-id='id+domain']) вместо $('#id')

person Shaun_K    schedule 14.06.2017
comment
Я использовал атрибут modelId, привязанный к уникальному свойству модели. Мне нужно добавить поле в базу данных, которое дает уникальное значение, которое сопоставляется со свойством класса модели. Спасибо вам за ответы. - person user3323130; 19.06.2017