Files
investbrain/app/Http/Controllers/DashboardController.php
T

33 lines
755 B
PHP
Raw Normal View History

2024-08-06 22:59:17 -05:00
<?php
namespace App\Http\Controllers;
2024-08-21 20:47:06 -05:00
use App\Models\Holding;
use Illuminate\Http\Request;
2024-08-06 22:59:17 -05:00
class DashboardController extends Controller
{
/**
* Display the specified resource.
*/
public function show(Request $request)
{
2024-08-27 21:17:54 -05:00
$user = $request->user()->load(['portfolios', 'holdings', 'transactions']);
2024-08-06 22:59:17 -05:00
2024-08-21 20:47:06 -05:00
// get portfolio metrics
$metrics = cache()->remember(
2024-08-21 20:47:06 -05:00
'dashboard-metrics-' . $user->id,
10,
function () {
return
Holding::query()
2024-08-27 21:17:54 -05:00
->myHoldings()
2024-08-29 18:46:21 -05:00
->withPortfolioMetrics()
2024-08-21 20:47:06 -05:00
->first();
}
);
2024-08-06 22:59:17 -05:00
2024-08-21 20:47:06 -05:00
return view('dashboard', compact('user', 'metrics'));
2024-08-06 22:59:17 -05:00
}
}