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 1010use Illuminate \Contracts \Queue \ShouldBeUnique ;
1111use Illuminate \Contracts \Queue \ShouldQueue ;
1212use Illuminate \Contracts \Support \Arrayable ;
13+ use Illuminate \Database \Eloquent \Model ;
1314use Illuminate \Foundation \Bus \Dispatchable ;
1415use Illuminate \Http \File ;
1516use Illuminate \Queue \InteractsWithQueue ;
@@ -112,19 +113,26 @@ public function handle(): void
112113
113114 $ writer ->addRow (Row::fromValues ($ headers ));
114115
116+ $ query = $ dataTable ->getFilteredQuery ();
117+
115118 if ($ this ->usesLazyMethod ()) {
116119 $ chunkSize = 1_000 ;
117120 if (is_int (config ('datatables-export.chunk ' ))) {
118121 $ chunkSize = config ('datatables-export.chunk ' );
119122 }
120- $ query = $ dataTable -> getFilteredQuery () ->lazy ($ chunkSize );
123+ $ results = $ query ->lazy ($ chunkSize );
121124 } else {
122- $ query = $ dataTable ->getFilteredQuery ()->cursor ();
125+ $ eagerLoads = array_keys ($ query ->getEagerLoads ());
126+ $ results = $ query ->cursor ();
123127 }
124128
125- foreach ($ query as $ row ) {
129+ foreach ($ results as $ row ) {
126130 $ cells = [];
127131
132+ if ($ row instanceof Model && ! empty ($ eagerLoads )) {
133+ $ row ->loadMissing ($ eagerLoads );
134+ }
135+
128136 $ row = $ row instanceof Arrayable ? $ row ->toArray () : (array ) $ row ;
129137
130138 $ defaultDateFormat = 'yyyy-mm-dd ' ;
You can’t perform that action at this time.
0 commit comments