File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change 10
10
use Illuminate \Contracts \Queue \ShouldBeUnique ;
11
11
use Illuminate \Contracts \Queue \ShouldQueue ;
12
12
use Illuminate \Contracts \Support \Arrayable ;
13
+ use Illuminate \Database \Eloquent \Model ;
13
14
use Illuminate \Foundation \Bus \Dispatchable ;
14
15
use Illuminate \Http \File ;
15
16
use Illuminate \Queue \InteractsWithQueue ;
@@ -112,19 +113,26 @@ public function handle(): void
112
113
113
114
$ writer ->addRow (Row::fromValues ($ headers ));
114
115
116
+ $ query = $ dataTable ->getFilteredQuery ();
117
+
115
118
if ($ this ->usesLazyMethod ()) {
116
119
$ chunkSize = 1_000 ;
117
120
if (is_int (config ('datatables-export.chunk ' ))) {
118
121
$ chunkSize = config ('datatables-export.chunk ' );
119
122
}
120
- $ query = $ dataTable -> getFilteredQuery () ->lazy ($ chunkSize );
123
+ $ results = $ query ->lazy ($ chunkSize );
121
124
} else {
122
- $ query = $ dataTable ->getFilteredQuery ()->cursor ();
125
+ $ eagerLoads = array_keys ($ query ->getEagerLoads ());
126
+ $ results = $ query ->cursor ();
123
127
}
124
128
125
- foreach ($ query as $ row ) {
129
+ foreach ($ results as $ row ) {
126
130
$ cells = [];
127
131
132
+ if ($ row instanceof Model && ! empty ($ eagerLoads )) {
133
+ $ row ->loadMissing ($ eagerLoads );
134
+ }
135
+
128
136
$ row = $ row instanceof Arrayable ? $ row ->toArray () : (array ) $ row ;
129
137
130
138
$ defaultDateFormat = 'yyyy-mm-dd ' ;
You can’t perform that action at this time.
0 commit comments