Ich habe eine Abfrage mit kartik-v/export verwendet, um alle Ergebnisse nach Excel zu exportieren, die eine große Menge an Ergebnissen zurückgibt und verursacht, dass der Server nicht genügend Arbeitsspeicher hat.Yii2 Batch-Abfrage für ActiveDataProvider
Hier ist ein Beispiel Abfrage:
$query = Customer::find()->where('status'=>1);
$activeDataProvider = new ActiveDataProvider(['query'=>$query]) ;
return $activeDataProvider;
Wie kann ich das richtig drehen in eine Batch-Abfrage? Oder gibt es eine andere Möglichkeit, Speicherlecks zu verhindern?
Datenprovider verwenden gibt Ihnen Ergebnis ausgelagert - sind Sie in diesem Fall aus dem Speicher ausgeführt wird? Oder ist das Beispiel, das Sie angegeben haben, so vereinfacht, dass es Ihrer Anfrage nicht einmal nahe kommt? – Bizley
@bizley Ich hätte klarer sein müssen. Alle Ergebnisse von activeDataProvider werden in eine Excel-Datei exportiert. Grundsätzlich kann ein Benutzer alle seine Ergebnisse exportieren. – Dean
Sehen Sie diese Demo http://demos.krajee.com/export-demo-dtl/large-files-link Dort gibt es eine Option für große Datei- und Speicherprobleme. – Bizley