ManyToOne加入symfony2

时间:2013-01-02 09:48:38

标签: php join symfony doctrine-orm many-to-one

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

enter image description here

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

...
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没有名为completed的关联。

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

1 个答案:

答案 0 :(得分:0)

您需要在story tocompleted中创建一个OneToMany关系,并将其命名为“completed”。如果你这样做,你就可以根据需要使用JOIN