99
1010class DataProcessor
1111{
12+ /**
13+ * @var int
14+ */
1215 protected int $ start ;
16+ /**
17+ * @var array
18+ */
1319 protected array $ output = [];
20+
21+ /**
22+ * @var array<array-key, array{name: string, content: mixed}>
23+ */
1424 protected array $ appendColumns = [];
25+
26+ /**
27+ * @var array<array-key, array{name: string, content: mixed}>
28+ */
1529 protected array $ editColumns = [];
30+
31+ /**
32+ * @var array
33+ */
1634 protected array $ templates = [];
35+
36+ /**
37+ * @var array
38+ */
1739 protected array $ rawColumns = [];
40+
41+ /**
42+ * @var array|string[]
43+ */
1844 protected array $ exceptions = ['DT_RowId ' , 'DT_RowClass ' , 'DT_RowData ' , 'DT_RowAttr ' ];
45+
46+ /**
47+ * @var array
48+ */
1949 protected array $ onlyColumns = [];
50+
51+ /**
52+ * @var array
53+ */
2054 protected array $ makeHidden = [];
55+
56+ /**
57+ * @var array
58+ */
2159 protected array $ makeVisible = [];
60+
61+ /**
62+ * @var array
63+ */
2264 protected array $ excessColumns = [];
65+
66+ /**
67+ * @var string|array
68+ */
2369 protected mixed $ escapeColumns = [];
70+
71+ /**
72+ * @var iterable
73+ */
2474 protected iterable $ results ;
75+
76+ /**
77+ * @var bool
78+ */
2579 protected bool $ includeIndex = false ;
2680
2781 /**
@@ -38,7 +92,7 @@ public function __construct($results, array $columnDef, array $templates, int $s
3892 $ this ->excessColumns = $ columnDef ['excess ' ] ?? [];
3993 $ this ->onlyColumns = $ columnDef ['only ' ] ?? [];
4094 $ this ->escapeColumns = $ columnDef ['escape ' ] ?? [];
41- $ this ->includeIndex = $ columnDef ['index ' ] ?? [] ;
95+ $ this ->includeIndex = $ columnDef ['index ' ] ?? false ;
4296 $ this ->rawColumns = $ columnDef ['raw ' ] ?? [];
4397 $ this ->makeHidden = $ columnDef ['hidden ' ] ?? [];
4498 $ this ->makeVisible = $ columnDef ['visible ' ] ?? [];
@@ -79,7 +133,7 @@ public function process($object = false): array
79133 * Process add columns.
80134 *
81135 * @param array $data
82- * @param array|object $row
136+ * @param array|object|\Illuminate\Database\Eloquent\Model $row
83137 * @return array
84138 */
85139 protected function addColumns (array $ data , $ row ): array
@@ -89,8 +143,9 @@ protected function addColumns(array $data, $row): array
89143 if ($ content instanceof Formatter) {
90144 $ column = str_replace ('_formatted ' , '' , $ value ['name ' ]);
91145
92- /** @phpstan-ignore-next-line */
93- $ value ['content ' ] = $ content ->format ($ data [$ column ], $ row );
146+ if (isset ($ data [$ column ])) {
147+ $ value ['content ' ] = $ content ->format ($ data [$ column ], $ row );
148+ }
94149 } else {
95150 $ value ['content ' ] = Helper::compileContent ($ content , $ data , $ row );
96151 }
0 commit comments