我正在使用Symfony2创建一个网站,我希望我的用户根据他们的个人资料查看项目列表。我正在寻找最好的方法。
用户的基本字段附加到他们的个人资料(名字、电子邮件等),但我想添加一些特定信息:性别、收入、兴趣(所以不同类型的:布尔、整数、字符串等)。某些字段和值可能会在以后添加、修改或删除。
这些项目将具有条件,以便根据用户的配置文件向相应的用户显示它们。
实际上,它有点像一个购物网站,其中包含产品附加的信息,然后客户可以通过标准列表减少显示的项目数量。
我想在用户实体中放置一个具有不同条件和值的数组,但我发现这个解决方案真的很糟糕。
您是否知道什么是执行此操作的最佳实体/数据库架构?
这是过滤,你用来获取产品的查询是你应该玩的,而不是用户。
据我了解,您希望根据每个用户的性别等向他们展示不同的产品。
您将需要某种链接来知道要向哪个用户显示哪个产品?您想在产品端检查哪些信息?您可以将一个实体链接到具有不同信息的产品,例如将在查询中使用的产品的性别男性以获取所有select * from product where product.criteria.gender = user.gender
这只是一个简化的查询,但如果您想在 SQL 或 DQL 中执行此操作,则使用联接会更加棘手