0

私はsymfony2プロジェクトに取り組んでいます。

コントローラから、オブジェクトの配列の配列である小枝に送信します。
私の配列はうまく設定されており、必要な値を取得しています。

しかし、小枝でこれらのデータにアクセスしようとすると、アクセスできません...
私の小枝は次のようになります。{{ myarray.1.0.getFichier() }}

しかし、小枝はgetFichierのメソッドを呼び出しませんでしmyarray.1.0た。

これが私への小枝の反応です:Item "getFichier" for "Array" does not exist in CDUserBundle:Prof:edit_session.html.twig at line 74

編集:dump(myarray.1.0)は何も表示せず、dump(myarray)は何も表示しません。しかし、dump()は空白のページを表示します...

Edit²:これが私のコントローラーです

return $this->render('CDUserBundle:Prof:edit_session.html.twig', array(
            'erreur' => $erreur,'message' => $message,
            'title' => 'C# | Editer session',
            'description' => 'keywords description',
            'sessionInfo' => $sessionInfo,
            'sessionFull' => $sessionFull,
            'documents' => $documents,
            'videos' => $videos,
            'a' => 'showForm',
            'vidName' => $videos[0]->getName(),
            'vidDMCId'=>$videos[0]->getDMCId(),
            'session' => $form->createView(),
            'partPath' => $documents[0]->getFichier()
        ));

私の配列は$documentsまたは$videosのいずれかですこれが配列を作成するときです

  $videos=array();
    if($sessionFull[0]['sess_vid_id']!=NULL) {
        if($em->getRepository('CD\ConfigBundle\Entity\Video')->findOneById($sessionFull[0]['sess_vid_id']))
            array_push($videos,$em->getRepository('CD\ConfigBundle\Entity\Video')->findOneById($sessionFull[0]['sess_vid_id']));
        else
            array_push($videos,new Video());
        }
    else
        array_push($videos,new Video());
    for($i=0;$i<4;$i++) {
        if($sessionFull[$i]['coursVidId']!=NULL) {
            $vids=array();
            $vidsId=explode(',',$sessionFull[$i]['coursVidId']);
            foreach($vidsId as $vidId) {
                if($em->getRepository('CD\ConfigBundle\Entity\Video')->findOneById($vidId))
                    array_push($vids,$em->getRepository('CD\ConfigBundle\Entity\Video')->findOneById($vidId));
                else
                    array_push($vids,new Video());
            }
            array_push($videos,$vids);
        }
        else
            array_push($videos,array(new Video()));
    }

    $documents=array();
    if($sessionFull[0]['sess_doc_id']!=NULL) {
        if($em->getRepository('CD\ConfigBundle\Entity\Document')->findOneById($sessionFull[0]['sess_doc_id']))
            array_push($documents,$em->getRepository('CD\ConfigBundle\Entity\Document')->findOneById($sessionFull[0]['sess_doc_id']));
        else
            array_push(new Document());
    }
    else
        array_push($documents,new Document());
    for($i=0;$i<4;$i++) {
        if($sessionFull[$i]['coursDocId']!=NULL) {
            $docs=array();
            $docsId=explode(',',$sessionFull[$i]['coursDocId']);
            foreach($docsId as $docId) {
                if($em->getRepository('CD\ConfigBundle\Entity\Document')->findOneById($docId))
                    array_push($docs,$em->getRepository('CD\ConfigBundle\Entity\Document')->findOneById($docId));
                else
                    array_push($docs,new Document());
            }
            array_push($documents,$docs);
        }
        else
            array_push($documents,array(new Document()));
    }
4

1 に答える 1

0

{{ myarray.1.0.Fichier }} を直接使用する

于 2013-09-15T18:37:15.110 に答える