If you have a DB transaction and want to return its result, there are at least two ways, see the example.
// 1. You can pass the parameter by reference$invoice = NULL;DB::transaction(function () use (&$invoice) { $invoice = Invoice::create(...); $invoice->items()->attach(...);}) // 2. Or shorter: just return trasaction result$invoice = DB::transaction(function () { $invoice = Invoice::create(...); $invoice->items()->attach(...); return $invoice;});
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses on Laravel Daily
[NEW] Practical Laravel Security: Packages, Secrets, Supply-Chain Attacks
7 lessons
43 min read
AI Agents/IDEs for Laravel: May 2026 (Claude Code, Codex, OpenCode, etc)
7 lessons
52 min
Laravel 13 Starter Kit Teams and Customizations
10 lessons
33 min