Usare le transaction in Eloquent senza Laravel
In un precedente articolo abbiamo usato Eloquent senza Laravel.
Però ho scoperto che alcune cose mi danno problemi, con l'uso delle transaction (forum.html).
Cercando qui e la ho trovato una soluzione.
Prima di tutto creiamo un model apposito (io l'ho messo nella stessa cartella degli altri):
namespace models;
use Illuminate\Database\Eloquent\Model as EloquentModel;
class MyEloquentModel extends EloquentModel {
public static function beginTransaction() {
self::getConnectionResolver()->connection()->beginTransaction();
}
public static function commit() {
self::getConnectionResolver()->connection()->commit();
}
public static function rollBack() {
self::getConnectionResolver()->connection()->rollBack();
}
}
Poi dobbiamo richiamare queste funzioni in questo modo:
try {
MyEloquentModel::beginTransaction();
// DO STUFF
MyEloquentModel::commit();
} catch (QueryException $ex) {
MyEloquentModel::rollBack();
}
Enjoy!
php eloquent
Commentami!