Свойства кросс-модели - PullRequest
       3

Свойства кросс-модели

0 голосов
/ 19 августа 2011

Как реализовать свойства кросс-модельной выборки в базовой модели данных?Проще говоря, скажем, у меня есть две модели - модель CompanyStructure, которая описывает иерархию подразделений, и модель Employee, которая описывает всех сотрудников.Как бы я установил отдел сотрудника как выбранное свойство?

Я нашел похожий вопрос, заданный здесь .Это хорошее описание проблемы, с которой я сталкиваюсь:

Когда я устанавливаю извлеченное свойство для состояния в моем объекте документа (в Xcode Modeller), ему нужен набор назначения - однако, только всплывающее окно назначенияпоказывает объекты в текущей модели.То, что я хочу (я думаю), является предикатом, примерно таким:

State.id == $FETCH_SOURCE.state_id

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

Кстати, я не знаю о $ FETCH_SOURCE или $ FETCH_ANYTHING_ELSE, поэтому я не совсем понимаю блок кода в приведенном выше сегменте.Я знаю, что не могу установить сущность для свойства, извлеченного из отдела сотрудника, потому что они находятся в отдельных моделях.

РЕДАКТИРОВАТЬ - Объединение двух моделей данных в одну не вариант.

1 Ответ

3 голосов
/ 20 августа 2011

Извлеченные свойства являются частью модели, поэтому по определению они не являются кросс-модельными.Если вы хотите обратиться к более чем одной модели, вы должны сделать это в коде.Кроме того, определение связи между Сотрудниками и Отделами может быть выполнено только внутри модели, если вы не используете свои собственные UID и, таким образом, обходите метафору модели.

Они позволяют мне выполнять похожие задачи, я добавляю дополнительные файлы .h и .m к своим классам, например ClassName+Additions.h, и объявляю "свойства" как методы, которые можно вызывать так же, как свойства, такие как [smith department],В этих файлах я могу #include всех необходимых классов из другой модели и поддерживать отдельные контексты управляемого объекта.

...