希望得到一些指导。
考虑这个片段:
val q = (for {
(d, o) <- dx innerJoin ox on (_.user === _.id)
} yield(d,o))
"div" #> q.map { case (x, y) =>
{
".dF1 *" #> x.name &
".dF2 *" #> y.id
}
}
在这个查询中,我有两个表,其中表“ox”是人员列表,“dx”是与这些人相关联的项目列表。正如它所写的那样,它工作得很好,但我最终为一个人拥有的每个项目创建了一行。所以假设三个用户,前两个有两个项目,最后一个有 1 个,我得到五行:
<div class="dF1">[user1]</div><div class="dF2">[item1]</div>
<div class="dF1">[user1]</div><div class="dF2">[item2]</div>
<div class="dF1">[user2]</div><div class="dF2">[item1]</div>
<div class="dF1">[user2[</div><div class="dF2">[item2]</div>
<div class="dF1">[user3]</div><div class="dF2">[item3]</div>
我想做的是为每个用户创建一行,并在 dF2 字段内创建多个 div,每个项目一个。那么布局将是:
<div class="dF1">[user1]</div><div class="dF2">[item1] [item2]</div>
<div class="dF1">[user2]</div><div class="dF2">[item1] [item2]</div>
<div class="dF1">[user3]</div><div class="dF2">[item1]</div>
我怎样才能做到这一点?我需要使用中介集合吗?