Aus der Laravel-Dokumentation: Database Transaction. Er sagt, dass:Wie Parameter an Laravel übergeben werden DB :: transaction()
DB::transaction(function() {
DB::table('users')->update(array('votes' => 1));
DB::table('posts')->delete();
});
Hier 1 ist explizit die Benutzer zu aktualisieren eingetragen ... Ich habe versucht, dies über eine Variable,
$id = 3;
DB::transaction(function() {
DB::table('users')->where('id','=',$id)->get();
});
Es wirft einen Fehler:
Undefined variable: id
Ich habe auch versucht, $ ID als Parameter wie folgt zu setzen:
$id = 3;
DB::transaction(function($id) {
DB::table('users')->where('id', '=', $id)->get();
});
Noch ein Fehler:
Object of class Illuminate\Database\MySqlConnection could not be converted to string
Habe ich etwas falsch gemacht? Bitte beraten. Dank ...
Empfohlene Vorlesung: [Anonymous Funktionen: Closures & Scoping] (http://www.php.net/manual/en/functions.anonymous.php) –
Wenn Sie $ ID innerhalb der Schließung ändern, wird es Auswirkungen auf die $ ID draußen? –
@CaptainHypertext Nicht unbedingt, wenn Sie die äußere $ id ändern möchten, können Sie einfach so darauf verweisen: 'DB :: transaction (function ($ id) use (& $ id) {' –