2016-09-08 7 views
0

私はすべてを試しましたが、修正する方法が見つからないという特定の問題があります。 は、私がブラウザ上およびApacheのerror_log でこのエラーERR_EMPTY_RESPONSEを持っています[木曜9月8日16:07:55.896191 2016] [コア:予告] [PID 834] AH00052:子のpid 844の出口信号セグメンテーションフォールト(11)Symfony ManyToManyクエリでセグメンテーションフォールトが発生する

マイコード:

class Trainer 
{ 

     /** 
     * @var integer 
     * 
     * @ORM\Column(name="trainer_id", type="integer") 
     * @ORM\Id 
     * @ORM\GeneratedValue(strategy="IDENTITY") 
     */ 
     private $trainerId; 

     /** 
     * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Unit") 
     * @ORM\JoinTable(name="trainer_unit", 
     *  joinColumns={@ORM\JoinColumn(name="trainer_id", referencedColumnName="trainer_id")}, 
     *  inverseJoinColumns={@ORM\JoinColumn(name="unit_id", referencedColumnName="unit_id")} 
     *) 
     */ 
     protected $units; 

     public function __construct() 
     { 
       $this->units = new ArrayCollection(); 
     } 
} 

問題は、私は

$em = $this->getDoctrine()->getManager(); 
$trainer = $em->getRepository('AppBundle:Trainer')->find($id); 
dump($trainer); //no errors 


dump($trainer->getUnits()); // *** ERROR 
//or 
$trainer->getUnits()->add($unit); // *** ERROR 

を使用しようとしたとき、私はPHP 5.5、symfonyの3、AMMPS 3.5

を使用しています開始

ありがとうございます

答えて

0

$ trainerが結果セットになる可能性があるため、エラーが発生します。 それから、それを反復処理する必要があります。

これを試してみてください:

foreach($trainer as $t){ 
    dump($t->getUnits()); 
} 

私はそれが動作するはずだと思うが、ない保証。

編集#2コメントに基づいています。

あなたは結果が異なるかどうかを確認するために、同様にこれを試すことができます:

$repository = $this->getDoctrine()->getRepository('AppBundle:Trainer'); 
$trainer = $repository->find($id); 

EDIT#3コメントに基づいて。

dump($trainer) 
TrainerController.php on line 104: 
    Trainer {#704 ▼ 
    -trainerName: "Gisele" 
    -trainerId: 2 
    #units: PersistentCollection {#751 ▼ 
     -snapshot: [] 
     -owner: CletTrainer {#704} 
     -association: array:19 [ …19] 
     -em: EntityManager {#522 …11} 
     -backRefFieldName: null 
     -typeClass: ClassMetadata {#706 …} 
     -isDirty: false 
     #collection: ArrayCollection {#752 ▶} 
     #initialized: false 
    } 
    } 

dump($trainer->getUnits()) 

clet.localhost.comページには、任意のデータを送信しませんでした

clet.localhost.comが機能していません。 ERR_EMPTY_RESPONSE

同じapacheのエラー

EDIT#4

clet.localhost.comは私の/ウェブがリンクしている私のドメイン、です。 私は申し訳ありませんが、それは問題ではありません問題

browser error

apache error - error_log

+0

を把握するためにダンプを置くトレーナーを更新しようとしています。 また、使用すると機能しません。 $ form = $ this-> createForm(TrainerForm :: class、$ trainer); フォームにユニットがない場合は、うまく動作します – user1840570

+0

達成しようとしていることは何ですか?あなたが投稿に私たちを示していない追加コードがあるようです。 –

+0

こんにちはAlvin、申し訳ありません。 私は達成したい、トレーナーのための多くのユニット、またはユニットへの多くのトレーナー。 $ trainerは結果セットではなく、Trainerオブジェクトです。 – user1840570

関連する問題