<?php namespace Illuminate\Database; use Exception; use Illuminate\Support\Str; trait DetectsDeadlocks { /** * Determine if the given exception was caused by a deadlock. * * @param \Exception $e * @return bool */ protected function causedByDeadlock(Exception $e) { $message = $e->getMessage(); return Str::contains($message, [ 'Deadlock found when trying to get lock', 'deadlock detected', 'The database file is locked', 'A table in the database is locked', 'has been chosen as the deadlock victim', ]); } }