2013-09-16 3 views
0

С нескольких часов я пытаюсь преобразовать объекты doctrine2 в csv.Doctrine entity to CSV

Моя идея состояла в том, чтобы преобразовать доктрину сущностей в массив с (в моем репозитории):

return $query->getArrayResult(); 

И после того, преобразовать этот массив в файл CSV.

Но массив Convertion в CSV-файл не работает, потому что есть DateTime объекта в моем поле ....

ли кто-нибудь есть простой способ преобразования доктрины сущностей в CSV?

(пс: Я пытался искать сам на многих пост, но безуспешно, так жаль беспокоить вас :-().

ответ

1

Чтобы предотвратить получение ошибок при преобразовании в DATETIME вам придется делать это вручную через итерацию все объекты и форматировать DateTime, используя следующие для объектов DateTime:

$date->format('Y-m-d H:i:s'); 

Например, вы можете сделать следующее:

$csv = ""; 
foreach ($result as $item) 
{ 
    foreach($item as $element) 
    { 
     if($element instanceof DateTime) 
     $csv .= $element->format('Y-m-d H:i:s'); //Converts the Datetime to string for the given format 
    else 
     $csv .= $element; 
    $csv .= ","; 
    } 
    $csv .= "\r\n"; //Adds new line 
} 
echo $csv; 
+0

Спасибо большое Он работает.! – pbenard