问题描述
我正在用symfony制作图像板。如果我以最好的方式做到这一点,我会感到好奇。
有一些帖子和帖子,就像在普通论坛中一样。
-
线程1
- 帖子1
- 帖子3
-
线程2
- 帖子2
- 帖子4
问题是我创建了两个实体 Thread 和 Post 。从一个 Thread 获取所有帖子很容易,但是存在一些问题
- 我无法同时建立线程的
>>id
链接和发布。该线程在帖子中具有另一个ID编号。我可以创建另一个链接系统,例如>>t>id
,但我认为两者的ID编号相同对用户来说更好。 - 将sql表模式加倍-每个 post 和 thread 都有标题,内容,日期,图像等。
- 前端的js函数需要另一个参数来了解其 post 或 thread
我认为还会有更多问题。也许我应该只使用 post 而没有 thread ,因为除了 thread_id 之外,其他都是相同的。
Symfony不允许在一个表中建立关系。我可以将其写为一个数字,但是主义将进行多次查询,这会更糟。
我该怎么办?
解决方法
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
* @OneToMany(targetEntity="Post",mappedBy="parent")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Post::class,inversedBy="children",fetch="EAGER")
* @ORM\JoinColumn(name="parent_id",referencedColumnName="id")
*/
private $parent;
/**
* @ORM\OneToMany(targetEntity=Post::class,mappedBy="parent",fetch="LAZY")
*/
private $children;