迷えるあなたへまず結論を Laravelでうまくrollbackできない全ての根源はconnectionが違うから。 connectionについて Laravel 5.7では、config/database.phpに記述するだけで、自動でReaderとWriterコネクションを選択してくれます。Laravel Document この機能、実装者にコネクションを意識させなくて良いとても便利な機能なので、おそらくみなさんの現場でもアーキテクトの方がよしなに設定してくれてると思います。 しかし、これがrollbackされない問題の原因かな、と個人的には考えています。「意識させない」が「意識されない」になってしまっているのです。 自動コネクション設定例 'mysql' => [ 'reader' => [ 'host' => [env('DB_READER_HOST', 'localhost')]
![Laravelのトランザクションでrollbackされない問題 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/2f97bb5e50a4b9410a11c1f480bb0a6ef59de4ae/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9TGFyYXZlbCVFMyU4MSVBRSVFMyU4MyU4OCVFMyU4MyVBOSVFMyU4MyVCMyVFMyU4MiVCNiVFMyU4MiVBRiVFMyU4MiVCNyVFMyU4MyVBNyVFMyU4MyVCMyVFMyU4MSVBN3JvbGxiYWNrJUUzJTgxJTk1JUUzJTgyJThDJUUzJTgxJUFBJUUzJTgxJTg0JUU1JTk1JThGJUU5JUExJThDJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz05NmRjNGM2MGE0ZmM3Njk4MTNjNTU2YTNhNGYwN2NkNg%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa190YWtheWEmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTQzZGQyN2UxNzY0NmNhZjA3N2M2Y2M3MDc2YWZiYzUx%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D55b6f91189b431c534528d98b967a423)