Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
Importable
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 2
56
0.00% covered (danger)
0.00%
0 / 1
 import
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
20
 getchunkdata
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3namespace App\Imports;
4
5trait Importable
6{
7    public $csv_data_in_array;
8
9    /**
10     * @param  string|null  $filename
11     * @return string
12     */
13    public function import($file)
14    {
15        $handle = fopen($file->path(), 'r');
16
17        fgetcsv($handle);
18
19        $chunksize = 20;
20        while (! feof($handle)) {
21            $chunk_data = [];
22            for ($i = 0; $i < $chunksize; $i++) {
23                $data = fgetcsv($handle);
24                if ($data === false) {
25                    break;
26                }
27                $chunk_data[] = $data;
28            }
29
30            $this->getchunkdata($chunk_data);
31        }
32        fclose($handle);
33
34        return $this->csv_data_in_array;
35    }
36
37    public function getchunkdata($chunk_data)
38    {
39        foreach ($chunk_data as $row) {
40            $this->csv_data_in_array[] = $row;
41            if ($this->shouldSaveToDB()) {
42                $this->saveToDB($row);
43            }
44        }
45    }
46}