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