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

36 lines
822 B
PHP
Raw Normal View History

2024-08-06 22:59:17 -05:00
<?php
2025-01-28 17:33:54 -06:00
declare(strict_types=1);
2024-08-06 22:59:17 -05:00
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(
2025-01-28 17:14:49 -06:00
'dashboard-metrics-'.$user->id,
10,
2024-08-21 20:47:06 -05:00
function () {
return
Holding::query()
2025-01-28 17:14:49 -06:00
->myHoldings()
->withoutWishlists()
->withPortfolioMetrics()
->first();
2024-08-21 20:47:06 -05:00
}
);
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
}
}