Адаптация дизайна к Grails - PullRequest
0 голосов
/ 30 марта 2012

Я закончил проект CMS на php / mysql, и, поскольку grails является основным предметом для одного из моих занятий, я решил, почему бы не поиграть с ним еще и адаптировать CMS к приложению grails.

В настоящее время я моделирую домен, который состоит из 4 классов: User, Labs, Files и Support. User является основным доменом приложения и имеет множество Labs. Каждый Labs объект имеет множество Files и один Support.

Цель Support - сослаться на все Users, которые прикреплены к конкретной лаборатории. В каждой лаборатории есть руководитель, штат сотрудников от 0 до многих и консультант факультета. Моя проблема в том, как мне смоделировать это в Grails? В настоящее время я объявляю User lead и User faculty в классе, но не знаю, как управлять 0 для многих вспомогательных сотрудников.

Если я сделаю static hasMany [user:User], это означает, что любой User, прикрепленный к Support, будет добавлен без отличительной роли.

Есть предложения?

1 Ответ

1 голос
/ 31 марта 2012

Я думаю, что это просто вызов персонала по связям.

class Support{
   static hasMany = [ staff : User ] 
   User lead
   User facultyAdvisor
}

Тогда в своем коде вы будете звонить:

def support = new Support()
support.addToStaff( user1 )

, что имеет смысл для меня.

Ваш hasMany можно назвать как угодно.Вы даже можете иметь отношения типа

class Support{
    static hasMany = [ staff:User, leads: User, facultyAdvisors: User ]
} 

, и это позволит вам различать пользователей по ролям.

...