public function testFlush() { $writer = new Writer(); $writer->create(vfsStream::url('files/file4.csv'), ',', '"', '\\'); $writer->writeAll([['header1', 'header2'], ['cell1', 'cell2']]); $data = $writer->flush(); $writer->close(); $this->assertTrue(is_string($data)); $this->assertStringEqualsFile(vfsStream::url('files/file4.csv'), $data); }
public function testFromCsvUpdate() { $userData = ['id' => 1, 'name' => 'abc', 'email' => '*****@*****.**', 'password' => 'pass']; $writer = new Writer(); $writer->create($this->vfsRoot->getChild('file2.csv')->url()); $writer->writeLine(array_keys($userData)); $writer->writeLine($userData); $writer->close(); $model = new class extends Model { use CsvImportable; protected $table = 'users'; protected $fillable = ['name', 'email', 'password']; }; $model->name = 'test'; $model->email = '*****@*****.**'; $model->password = '******'; $model->save(); $model->fromCsv($this->vfsRoot->getChild('file2.csv')->url()); $item = $model->first(); $this->assertEquals($userData['name'], $item->name); $this->assertEquals($userData['email'], $item->email); $this->assertEquals($userData['password'], $item->password); }
public function toCsv() { $writer = new Writer(); $writer->create(); $data = $this->toArray(); $writer->writeLine(array_keys($data)); $writer->writeLine($data); $out = $writer->flush(); $writer->close(); return $out; }
public function toCsv($setHeader = true) { $writer = new Writer(); $writer->create(); $data = $this->toArray(); if (is_array(array_values($data)[0])) { if ($setHeader) { $writer->writeLine(array_keys($data[0])); } $writer->writeAll($data); } else { if ($setHeader) { $writer->writeLine(array_keys($data)); } $writer->writeLine($data); } $out = $writer->flush(); $writer->close(); return $out; }