Sto lavorando con uno stack LAMP di Laravel 5 e sto tentando di elaborare un'importazione CSV con una transazione di database. Codice assomiglia a questo:Laravel - Ottieni variabile da una chiusura transazione DB
// Should contain any messages to pass back to the user
$results = [];
// Contains the total records inserted
$total = 0;
DB::transaction(function() use($csv_file, $results, $total) {
// Some Code ...
$total++;
$results[] = 'Row 10 has some weird data...';
});
return view('plan.import')
->with('results', $results)
->with('total', $total);
Alla fine di questo, i miei dischi sono importati, ma il mio $ totale e $ risultati sono ancora vuoto, dal momento che sono al di fuori del campo di applicazione della chiusura. So che sono stati alterati all'interno della funzione, perché l'ho attraversata e li ho visti cambiare. Non riesco a capire come ottenerli da quella transazione e restituirli all'utente. Qualcuno può aiutare con questo?
Questo è impressionante. Non lo sapevo nemmeno, ma adesso funziona alla grande, grazie! –
Grazie per aver mostrato un esempio corretto di passaggio per riferimento – Shay
Siete i benvenuti @Shay :-) –