0

对于一个游戏,我有 2 个实体:story 和 story_completed。所有用户(这里是公司)的故事都是相同的,story_completed 表示哪个用户已经看过/完成了哪个故事。现在我想为用户显示一个故事列表,并显示哪些已完成,哪些未完成。

在此处输入图像描述

所以,我创建了 2 个实体:

...
table: story
id:
    id:
        type: integer
        generator: { strategy: AUTO }
fields:
    name:
        type: string

...
table: story_completed
id:
    id:
        type: integer
        generator: { strategy: AUTO }
ManyToOne:
    story:
        targetEntity: Story
fields:
    company_id: 
        type: integer

但是现在,如果我做一个 JOIN

SELECT s FROM Story s LEFT JOIN s.completed c WHERE ...

我收到一个错误:错误:类 ...\Story 没有名为已完成的关联。

也许我误解了 manyToOne 关联,但是我怎样才能做这个简单的 2 个表连接并加入到学说 2 中呢?事实上,我只需要知道用户 X 是否完成了故事。我不需要集合或双向连接。

4

1 回答 1

0

您需要在 story 到 story_completed 中创建 OneToMany 关系并将其命名为“已完成”。如果你这样做,你将能够根据需要使用 JOIN

于 2013-01-02T11:27:37.403 回答