我想创建一个简单的博客示例,其中用户有一个最喜欢的类别附加到那里的帐户。这意味着只能为该类别撰写文章。(其中一些 - 主要是管理员 - 将有机会切换类别,但这不是问题......现在^^)
所以我首先创建了 User- 和 Category 实体之间的关系。一切正常。现在每个用户都选择了一个主要类别。
唯一困扰我的是,我无法在 EntityType (formbuilder) 和 EntityRepository 类中获取当前登录的用户。
在我的“新帖子”表单中,存在与其他实体的关系(例如标签)。我使用 EntityType 类中的“实体”表单类型来生成这些表单元素。现在我不想过滤标签,只允许选择与当前登录的用户类别具有相同类别关系的标签。
我尝试使用实体表单类型中的 query_builder 选项。但是由于我无法获取当前的用户对象,所以我不知道他选择了哪个类别。EntityRepository 也有同样的问题。
现在我可以过滤 PostController 中已经存在的标签,但问题是,我将一遍又一遍地需要它。因此,我不想每次添加新内容时都编写代码。
我认为最好将此过滤器放在 EntityRepository 中。所以我总是可以访问 findAllByCategory。但我需要那里的用户对象。
实现这一目标的最佳方法是什么?搜索了很多,但要么我搜索了错误的术语,要么没有人有这个问题:)