Si tu a une collection et que tu souhaite un array, tu dois changer ta
méthode d'hydratation.
Voici un bon comparatif des méthodes d'hydratation:
http://www.amicalement-web.net/benchmark-apache-doctrine-hydrate-object-vs-array/2009/10/08/
<http://www.amicalement-web.net/benchmark-apache-doctrine-hydrate-object-vs-array/2009/10/08/>et
la doc de doctrine:
http://www.doctrine-project.org/documentation/manual/1_2/en/data-hydrators

Le 2 décembre 2010 16:22, manuel brossard <mbross...@infonel.net> a écrit :

> Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut un
> vrai export, le fichier est généré et téléchargé par le browser.
>
> J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
> avec le type des données récupéré. La  fonction fputcsv attends un array en
> second paramètre et moi j' ai une collection .
>
>
>
> Le 2 décembre 2010 14:52, Lélio ML <mailing-l...@lelio.fr> a écrit :
>
> Le mieux est de passer par les templates.
>> Tu fais la même chose de d'habitude sauf que ton template afiche les
>> champs
>> avec ton séparateur.
>> Le template pourra être nommé exportationEvaluationSuccess.csv.php si tu
>> mets dans ta route le paramètre sf_format
>>
>> Ainsi il te sera facile par la suite d'exporter en xls ou xml par exemple
>> rien qu'en modifiant le sf_format de la route : une seule action et autant
>> de templates que d'exports possibles
>>
>> /evaluation/export.csv => exportationEvaluationSuccess.csv.php
>> /evaluation/export.xml => exportationEvaluationSuccess.xml.php
>>
>> par exemple.
>>
>> -----Message d'origine-----
>> De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
>> la
>> part de mantex
>> Envoyé : jeudi 2 décembre 2010 14:48
>> À : Symfony-fr
>> Objet : [symfony-fr] export csv collection -> array
>>
>> J' essai de récupérer une collection d' enregistrements en csv.
>>
>> cela fonctionne avec un tableau de tableau rempli manuellement mais poas
>> lorsque j' essai de recupérer la collection "evaluations"
>>
>> Voici ma fonction..
>>
>>
>> public function executeExportationEvaluation (sfWebRequest $request)
>>
>>   {
>>
>>   $this->id = $request->getParameter('id');
>>   $evaluations = Doctrine_Core::getTable('Evaluation')-
>> >getEvaluationbycustomer(2);
>>
>>   $fp = fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
>> file.csv', 'w');
>>
>>   foreach ($evaluations as $fields) {
>>   fputcsv($fp, $fields);
>>    }
>>
>>    fclose($fp);
>>
>>    $fichier = '/usr/share/php/symfony/data/web/monprojet/web/uploads/
>> file.csv';
>>    header('Content-Type: application/csv;name='.$fichier);
>>    header('Content-Disposition: attachment;filename='.$fichier);
>>
>>
>>    readfile($fichier);
>>    return sfView::HEADER_ONLY;
>>
>>
>>   }
>>
>> --
>> Vous recevez ce message, car vous êtes abonné au groupe Google
>> Groupes Symfony-fr.
>> Pour envoyer un message à ce groupe, adressez un e-mail
>> à symfony...@googlegroups.com.
>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>> symfony-fr+unsubscr...@googlegroups.com<symfony-fr%2bunsubscr...@googlegroups.com>
>> .
>> Pour plus d'options, consultez la page de ce groupe :
>> http://groups.google.com/group/symfony-fr?hl=fr
>>
>>
>> --
>> Vous recevez ce message, car vous êtes abonné au groupe Google
>> Groupes Symfony-fr.
>> Pour envoyer un message à ce groupe, adressez un e-mail à
>> symfony...@googlegroups.com.
>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>> symfony-fr+unsubscr...@googlegroups.com<symfony-fr%2bunsubscr...@googlegroups.com>
>> .
>> Pour plus d'options, consultez la page de ce groupe :
>> http://groups.google.com/group/symfony-fr?hl=fr
>>
>>
>
>
> --
> Cordialement,
>
> Manuel Brossard
> Twitter: twitter.com/infonel
> Skype : mantex2039
>
> Tel: + 33 9 72 17 00 41
>
>  --
> Vous recevez ce message, car vous êtes abonné au groupe Google
> Groupes Symfony-fr.
> Pour envoyer un message à ce groupe, adressez un e-mail à
> symfony...@googlegroups.com.
> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
> symfony-fr+unsubscr...@googlegroups.com<symfony-fr%2bunsubscr...@googlegroups.com>
> .
> Pour plus d'options, consultez la page de ce groupe :
> http://groups.google.com/group/symfony-fr?hl=fr
>



-- 
Jérémy LEHERPEUR
jer...@leherpeur.net

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à