我有一个:
class Q&A
{
private $question
private $answer
}
我需要一个的集合(CollectionType
)Q&A
,但是我的模型Q&A
中没有反面的实体(实体与任何其他实体都没有ManyToOne关系)。
题
我在这里有什么选择?
我也有:
class Page
{
/**
* @ORM\OneToMany(targetEntity="Content")
*/
private $contents;
}
我考虑过将Page
类设为,abstract
并为每种页面类型(分别从继承)创建单独的实体Page
。
这样我可以
class Q&APage
{
/**
* @ORM\OneToMany(targetEntity="Q&A")
*/
private $q&as;
}
但这不是一个很大的网站,我上面有5种不同的页面类型,我觉得为每种页面类型都拥有不同的实体会过大。
首先,这与Symfony无关。这是一个学说的东西。顺便说一句,您在这里并没有矫kill过正,因为您的模型应该合理且合理,以便您可以开发代码库。
在开发代码库的过程中,程序员存在许多情况,其中程序员设计了格式错误的模型并遇到了麻烦。
毕竟,您如何知道:
那不是一个大网站
?当今许多大型网站从一开始就没有那么大。因此,作为开发人员,尝试而不是琐碎Model Design是一个好习惯。
提出的设计看起来不错,并且说实话,您对模型所需的数据结构有很好的了解。
您需要具备以下条件:
class QuestionAndAnswer
{
/**
* @ORM\ManyToOne(targetEntity="QuestionAndAnswerPage", inversedBy="questionAndAnswers")
*/
private $questionAndAnswerPage;
}
和一个:
class QuestionAndAnswerPage
{
/**
* @ORM\OneToMany(targetEntity="QuestionAndAnswer", mappedBy="questionAndAnswerPage")
*/
private $questionAndAnswers;
}
提示:尝试一直使用完整的英语单词和短语,因为这是面向对象世界中的最佳实践。请记住,您的用户不需要阅读它们。它们在那里,您将来不会陷入格式错误的短语中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句