2016-05-09 20 views
0

hatte ich ein Problem in Symfon2, das ist:Fehlermemberfunktion auf einem Nicht-Objekt Symfony2

Error: Call to a member function getId() on a non-object in /var/www/UserBO/src/BO/UserBundle/Controller/DefaultController.php line 88

Entitätsformular viele Unternehmen docs enthält, mein Code:

public function userAction() 
{ 
    $data = array(); 
    $row = array(); 
    $extra = array(); 

    $results = $this->getDoctrine()->getRepository("BOUserBundle:Form")->createQueryBuilder('q')->getQuery()->getArrayResult(); 
    // var_dump($results); die; 
    foreach ($results as $res){ 

     $row = array(
      'id' => $res->getId(), 
      'name' => $res->getName(), 
      'adresse' => $res->getAdresse() 

     ); 

    $docs = $this->getDoctrine()->getRepository("BOUserBundle:Document")->find($res->getId()); 

    foreach ($docs as $doc) 
    { 
     $extra[] = array(
      'id'=> $doc->getId(), **// line 88** 
      'name doc'=> $doc->getName(), 
      'path' => $doc->getPath() 
     ); 
    } 
    $row = array_merge($row, array('docs'=>$extra)); 
    } 
    // var_dump($data); die; 
    $data[] = $row; 

    return new JsonResponse($data); 
    //return $this->render('BOUserBundle:Default:user.html.twig', array('data' => $data)); 
} 

danken der

EDIT:

$results = $this->getDoctrine()->getRepository("BOUserBundle:Form")->createQueryBuilder('q')->getQuery()->getResult(); var_dump($results); die;

Mit getResult blockiert es den Navigator (Mozilla) und getArrayResult() es nicht ist, so was ist das Problem?

+0

'$ doc' ist kein Objekt. 'var_dump' es und sieh was es wirklich ist. –

+1

Sind Sie sicher, dass die Zeile 88 markiert ist? Normalerweise können Sie $ res-> getId() nicht mit getArrayResult ausführen. – Alsatian

+0

Ja, ich bin mir sicher über Zeile 88, als ich es tat ** getResult ** es stürzt meinen Navigator ab, irgendeine Idee? – Euphor08

Antwort

0

Das Löschen des Caches löst mein Problem. ist der Befehl:

php app/console cache:clear 
Verwandte Themen