Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Error: Allowed memory size lors affichage print_r entity avec jointure
    bonjour

    débutant avec Symfony, j'essaye d'améliorer un projet existant

    j'essaye de récupéré des donnée afin d'établir des statistiques

    j'ai un entity statistique avec id,date,user,nom du bon de travail,...

    lorsque j'affiche sur mon formulaire a l'aide de commande dans mon controller mon tableau récupérer de mon entity , sa fonctionne

    je fais ma jointure avec une autre entity ( etat des bon de travaux, contenant le staus du bon de travail (en commande,en attente,réalisé)) j'ai un defaut Error: Allowed memory size

    je ne trouve pas mon probleme help me please

    voici mes codes

    dans mon entity statistique

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        /**
         *
         * @ORM\OneToMany(targetEntity="StatEtatsmaintenancebdt", mappedBy="maintenancebdtmaintenancebdt", cascade={"persist"})
         * @var type
         */
        private $dataBdtmaintenancebdt;
     
        public function __construct() {
            $this->dataBdtmaintenancebdt = new ArrayCollection();
        }


    dans mon entity StatEtatsmaintenancebdt

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        /**
        /**
         * @var \Statistiques
         *
         * @ORM\ManyToOne(targetEntity="Statistiques", inversedBy="dataBdtmaintenancebdt")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="MaintenanceBdT_idMaintenanceBdT", referencedColumnName="idMaintenanceBdT")
         * })
         */
        private $maintenancebdtmaintenancebdt;
     
        public function __construct($nom, $maintenancebdt) {
            $this->nometatsmaintenancebdt = $nom;
            $this->maintenancebdtmaintenancebdt = $maintenancebdt;
            $this->dateetatsmaintenancebdt = new \DateTime;
        }


    dans mon EntityRepository

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public function findLastbdt()
        {
            return $this->createQueryBuilder('bdt')
                        ->orderBy('bdt.idbonsdetravaux', 'DESC')
                        ->setMaxResults(20)
                        ->getQuery()
                        ->getResult();
        }



    dans mon controller


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    //fonctionne!!
    $repositoryBonsdetravaux = $this->getDoctrine()->getRepository('OrgapharmMaintenanceBdTBundle:statistiques');
    $bonsvalides = $repositoryBonsdetravaux->findLastbdt();
     
     
    echo "<br>data via doctrine :";			
    echo "<br>";	
    print_r($bonsvalides) ; 
    echo "<br>";
     
    foreach ($bonsvalides as $val) {
        echo print_r($val);
    	echo "<br>";	
    }




    merci pour votre aide

    Christophe

  2. #2
    Modérateur

    Il faut augmenter la mémoire dans le fichier php.ini

  3. #3
    Nouveau membre du Club
    merci pour ta reponse

    biensur, vu le message d'erreur c'est la premiere chose que j'ai fais, ca ne fonctionne pas

    ca mouline un peu plus, puis paf le message

    j'ai modifier mon entity StatEtatsmaintenancebdt car je pense que le lien vers l'entity statistique n'était pas bon ( inversedBy="dataBdtmaintenancebdt"))

    voila la modification

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     /**
        /**
         * @var \Statistiques
         *
         * @ORM\ManyToOne(targetEntity="Statistiques", inversedBy="statistique")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="MaintenanceBdT_idMaintenanceBdT", referencedColumnName="idMaintenanceBdT")
         * })
         */
        private $maintenancebdtmaintenancebdt;
     
        public function __construct($nom, $maintenancebdt) {
            $this->nometatsmaintenancebdt = $nom;
            $this->maintenancebdtmaintenancebdt = $maintenancebdt;
            $this->dateetatsmaintenancebdt = new \DateTime;
        }


    je ne sais pas si on fait le lien vers l'entity, la class ou la variable ( ici dataBdtmaintenancebdt)

    bon apres modif, ca ne fonctionne toujours pas….

    merci pour votre aide

    Christophe

###raw>template_hook.ano_emploi###