Tôi đang làm việc với một ngăn xếp Laravel 5 LAMP, và tôi đang cố gắng xử lý một nhập CSV với một giao dịch cơ sở dữ liệu. Mã trông giống như sau:Laravel - Nhận biến từ một giao dịch DB đóng cửa
// 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);
Khi kết thúc, hồ sơ của tôi được nhập nhưng tổng $ của tôi và $ kết quả vẫn trống vì chúng nằm ngoài phạm vi đóng. Tôi biết họ đang bị thay đổi bên trong chức năng, bởi vì tôi đã bước qua nó, và thấy họ thay đổi. Tôi chỉ không thể tìm ra cách để đưa chúng ra khỏi giao dịch đó và trả lại cho người dùng. Bất cứ ai có thể vui lòng giúp đỡ với điều này?
Đó là tuyệt vời. Tôi thậm chí không biết về điều đó, nhưng bây giờ nó hoạt động tốt, cảm ơn! –
Cảm ơn bạn đã hiển thị một ví dụ phù hợp để chuyển qua tham chiếu – Shay
Bạn được chào đón @Shay :-) –