2012-05-20 68 views
0

我嘗試保存並顯示出許多一起玩一個關係webframework 2.0 ...遊戲2.0多對多和多對一

我有這些模型:

@Entity 
public class Project extends Model{ 

    @Id 
    public Long id; 

    @Required 
    public String name; 

    @ManyToMany 
    public List<Worker> workers = 
      new ArrayList<Worker>(); 

    @ManyToOne 
    public Worker head; 
... 

} 


@Entity 
public class Worker extends Model{ 
    @Id 
    public Long id; 

    @Required 
    public String name; 

    ... 

    public static Map<String,String> options() { 
     LinkedHashMap<String,String> options = new LinkedHashMap<String,String>(); 
     for(Worker w: Worker.getAll()) { 
      options.put(w.id.toString(), w.name); 
     } 
     return options; 
    }  

} 

,我有這樣的觀點:

@(projects: List[Project], taskForm: Form[Project]) 

@import helper._ 


    <h1>@projects.size() Projects(s)</h1> 

    <ul> 
     @for(project <- projects) { 
      <li> 
       @project.name 
       <b> - head: </b> 
       @project.head.name 

       <ul> 
       @for(worker <- project.workers) { 
        <li> 
         @worker.name 
        </li> 
       } 
       </ul> 

       @form(routes.ProjectController.deleteProject(project.id)) { 
        <input type="submit" value="Delete"> 
       } 

      </li> 
     } 
    </ul> 

    <h2>Add a new task</h2> 

    @form(routes.ProjectController.newProject()) {   

     @inputText(taskForm("name")) 

     @inputText(taskForm("description"))    

     @select(
      taskForm("head.id"), 
      options(Worker.options), 
      '_label -> "Worker"   
     )  


     <input type="submit" value="Create"> 

    } 

但是當我保存的項目,我有頭 沒有相關的工人,我沒有發現任何多對多的例子.. 誰能告訴我如何管理相對在遊戲2.0或顯示我解釋它的鏈接?

感謝所有回覆

+0

你的意思是「我保存項目」? – AlexV

+0

當我從視圖中的窗體中保存模型bean「Project」 –

+0

我目前正在嘗試寫一些非常相似的東西,但我沒有得到它......你可以發佈你的控制器來讓你的解決方案更清晰嗎?將不勝感激;) –

回答

0

我使用的方法GETALL讓所有項目,並將其傳遞給視圖... 我看到了,我需要做的「獲取(‘工人’),」有附加工人該項目...

我錯過了在解決了控制器...問題GETALL後取方法...