2016-08-02 28 views
0

ich einen fatalen Fehler habe (Aufruf zum getId() auf einem Nicht-Objekt) in diesem Code:Fatal error getId() auf einem Nicht-Objekt in einem Array von Objekten namens

$users[] = $em->getRepository(Tutore::class)->findAll(); 

foreach ($users as $user) { 
     $colle = $em->getRepository(Colle::class)->find($id); 
     $passages[] = $em->getRepository(PasserColle::class)->findBy(array('colle' => $colle->getId(), 
      'username' => $user->getId())); 
} 

foreach ($passages as $passage){ 
     $passages['note'] = $passage->getNote(); 
} 

ich abgeladen $ Benutzer und es ist ein Array von Objekten. Ich verstehe nicht, warum es mir diesen Fehler zeigt. Ich habe den gleichen Fehler mit $ Passage-> getNote().

+0

Es ist ein Objekt, aber ist es das richtige Objekt? Zeige Code aus findAll() zum Beispiel –

+0

Es ist eine Doktrin-Funktion, die ein Array aller Objekte im Repository findet. Tutore Repository erweitert Benutzer-Repository. Ich habe versucht mit User Repository, aber ich habe den gleichen Fehler. –

+0

und wenn Sie '$ user' in der foreach-Schleife ablegen? – DOZ

Antwort

1

Erste Ausgabe

Do

$users = $em->getRepository(Tutore::class)->findAll(); 

Statt

$users[] = $em->getRepository(Tutore::class)->findAll(); 

Zweite Ausgabe

Try this:

$newArray = []; 

foreach ($passages as $key => $passage){ 
    $newArray[$key]['note'] = $passage->getNote(); 
}