我有一个帖子的关系数据库。
发布表 <-- OneToMany
Post cat Table <-- ManyToOne
类别表 <-- OneToMany
如果我使用 Doctrine @ORM 来加入表格,则在使用注释的实体中。我得到一个白屏,并在错误日志中显示错误:
emergency.EMERGENCY: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1052508160 bytes) {"type":1,"file":"/[PATH TO SYMFONY]/vendor/twig/twig/lib/Twig/Extension/Debug.php","line":66}
我已经多次提高内存限制,从 64M 到 1024M。
有没有其他人发现这个问题?我认为执行 > 一个 Gig 内存的文件是不好的。
如果我使用查询生成器编写查询,我会得到我期望的结果。我认为如果我能让 Doctrine 关系映射起作用,这会更好。有人对此有意见吗?
我想就这件事提供一些建议。
提前致谢。
乔
------------ 根据评论进行编辑 --------------------------------- ------
感谢您的评论@Cerad。数据库中只有大约 10 行。我也在 app_dev.php 中。以下是我文件的一些摘录。
发布表
class Post
{
//... ^ table collumns
/**
* @ORM\OneToMany(targetEntity="PostCats", mappedBy="Post")
*/
protected $PostCats;
public function __construct()
{
$this->PostCats = new ArrayCollection();
}
}
post cat 加入表。
class PostCats
{
//... ^ table collumns
/**
* @ORM\ManyToOne(targetEntity="Post", inversedBy="PostCats")
* @ORM\JoinColumn(name="postid", referencedColumnName="id")
*/
protected $Post;
}
控制器
$posts = $this->getDoctrine()
->getRepository('comPostBundle:Post')
->find(7);
if (!$posts) {
throw $this->createNotFoundException(
'No product found for id '.$posts
);
}
return new Response(print_r($posts))
结果......白屏......我也尝试将结果转储到树枝模板中。
您认为跳过 Doctrine 关系映射而只在实体存储库中编写连接可以吗?