CakePHP 3 Плагин CsvView.csv, экспорт со многими связями - PullRequest
0 голосов
/ 23 апреля 2019

В частности, я использую плагин ViewCsv, этот плагин для экспорта json в csv требует передачи ему плоского массива, но я не могу понять, как сделать выпуски INNER плоскими. В моем коде есть содержание с ['Users', 'Resources' и т. Д.].

public function export()
{
    $bookings = $this->Bookings->find('index')->contain(['Users', 'Resources', 'Customers', 'Unavailabilities']);
    $_delimiter = chr(9); //tab
    $_bom = true;
    $_null = 'null';

    $_header = $this->Bookings->getSchema()->columns();
    unset($_header[9], $_header[11], $_header[12], $_header[13]);
    $_extract = $this->Bookings->getSchema()->columns();
    unset($_extract[9], $_extract[11], $_extract[12], $_extract[13])
    $this->setResponse($this->getResponse()->withDownload('BookingsExport.csv'));

    $this->viewBuilder()->setClassName('CsvView.Csv');
    $this->set('_serialize', true);
    $this->set(compact('bookings', '_header', '_extract', '_delimiter', '_null', '_bom'));
}

Мне нужно получить таблицы, которые находятся внутри содержимого внутри файла CSV. В настоящее время я получаю только таблицу «Бронирования».

...