게시물에 대한 관계형 데이터베이스가 있습니다.Symfony2 Doctrine2 초과 메모리 한계, 1073741824 바이트의 사용 가능한 메모리 크기
포스트 표 < - OneToMany
포스트 고양이 표 < - ManyToOne
분류 표 < - OneToMany
내가 사용하는 엔티티에서 테이블을 조인하는 교리 @ORM를 사용하는 경우 주석. 나는 흰색 화면을 얻을하고 오류 로그는 오류 보여 내가 64M에서 1024M에, 메모리 제한을 여러 번 올렸습니다
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}
합니다.
누구든지이 문제가 있습니까? 나는 파일을 실행> 메모리 기가 좋다고 생각합니다.
쿼리 작성기를 사용하여 쿼리를 작성하면 예상 한 결과가 나타납니다. 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();
}
}
후 고양이에 합류 테이블.
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 관계형 매핑을 건너 뛰고 엔티티 리포지토리에 조인을 쓰는 것이 좋습니다.
. 컨트롤러의 어딘가에 무한 루프가있을 가능성이 높습니다. 쿼리 코드 게시 및 후속 처리를 고려하십시오. 더 나은 방법은 명령을 작성하고 몇 줄의 코드로 문제를 격리하는 것입니다. 개발하는 동안 개발 모드를 사용하십시오. – Cerad
내 의견을 업데이트하여 내 게시물을 편집했습니다. 감사합니다. – Joe
이것은 no-no이며 문제의 원인입니다. (print_r ($ posts)) print_r은 엔티티를 잘 이해하지 못하고 무한 루프를 일으 킵니다. – Cerad