投稿用のリレーショナル データベースがあります。
Post テーブル <-- OneToMany
猫のテーブルを投稿 <-- 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 に数回引き上げました。
他の誰かがこの問題を見つけましたか? ファイルを実行する > メモリのギグは良くないと思います。
クエリ ビルダーを使用してクエリを作成すると、期待どおりの結果が得られます。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 リレーショナル マッピングをスキップして、エンティティ リポジトリに結合を記述するだけでよいと思いますか?