Parameter an Laravel DB :: transaction () übergeben

Aus der Laravel-Dokumentation:Datenbanktransaktion. Es steht dass:

DB::transaction(function() {
    DB::table('users')->update(array('votes' => 1));
    DB::table('posts')->delete();
});

Hier wird explizit 1 eingegeben, um die Benutzer zu aktualisieren ... Ich habe dies mit einer Variablen versucht,

$id = 3;
DB::transaction(function() {
    DB::table('users')->where('id','=',$id)->get();
});

Es wird ein Fehler ausgegeben:

Undefined variable: id

Ich habe auch versucht, $ id als Parameter wie folgt zu platzieren:

$id = 3;
DB::transaction(function($id) {
    DB::table('users')->where('id', '=', $id)->get();
});

Trotzdem ein Fehler:

Objekt der Klasse Illuminate \ Database \ MySqlConnection konnte nicht in String konvertiert werden

Habe ich etwas falsch gemacht? Bitte beraten. Vielen Dank...

Antworten auf die Frage(3)

Ihre Antwort auf die Frage