2011-12-17 11 views
0

私はdoctrineをサイトに設定しており、関係に問題があります。私は多くのプロファイルを持つアカウントオブジェクトを持っています。各プロファイルには1つのアカウントがあります。新しいプロファイルを作成してからフラッシュし続けると、フォームがハングアップして何もしません。フラッシュを削除すると、デバッグステートメントが表示されますが、何も保持されません。Doctrineとの関係の問題PHP

モデルのプロパティ。 (すべてのプロパティを設定した後)

作成プロフィール

/** 
    * The account that owns this profile 
    * 
    * @ManyToOne(targetEntity="Account_Model_Account", 
       inversedBy="profiles", 
       cascade={"detach", "persist", "merge"}, 
       fetch="EAGER") 
    * @JoinColumn(name="account_id", referencedColumnName="id") 
    */ 
protected $account; 

/** 
* The profiles belonging to this account. 
* 
* @OneToMany(targetEntity="Profile_Model_Profile", mappedBy="account") 
*/ 
protected $profiles; 

アカウントで

$profile->setAccount($account); 
$account->addProfile($profile); 

$em->persist($profile); 
$em->persist($account); 
$em->flush(); 

私はここで間違って何をしているのですか?

+0

Doctrine PHPをバレンタインデーにプレゼントして、他のすべてのホットフレームワークをチェックするのにはあまり時間を費やさなかったはずです。 – rdlowrey

+0

アカウントを保持しているだけで、同じ問題が発生しています。後でフラッシュすると、何も起こりません。私がしなければ、執行の流れは続くが、何も維持されない。 – smokingoyster

+0

私は、flush()でハングアップするような再帰的な問題があることを疑います。 – smokingoyster

答えて

0

これを再訪しました。 Safari Web Inspectorで、アカウントを保持しようとしたときに500のエラーが発生しているのが分かりました。画面には何も表示されませんでした。このポストでは、Codeigniter and Doctrine 500 internal errorのとおり、例外の代わりに\ Exceptionを使用してtry catchですべてをラップし、なぜクラッシュしたのかについての詳細を取得できました。

try{ 
     ... 
}catch (\Exception $e) {    
     echo "<pre>Error: " . $e . "</pre>"; 
}