34 lines
1018 B
PHP
34 lines
1018 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Article;
|
|
use App\Models\Category;
|
|
use App\Models\ContactMessage;
|
|
use App\Models\ForumThread;
|
|
use App\Models\Product;
|
|
use App\Models\User;
|
|
use Illuminate\View\View;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
public function index(): View
|
|
{
|
|
$stats = [
|
|
'products' => Product::count(),
|
|
'articles' => Article::count(),
|
|
'categories' => \App\Models\Category::count(),
|
|
'glossary' => \App\Models\GlossaryTerm::count(),
|
|
'threads' => ForumThread::count(),
|
|
'users' => User::count(),
|
|
'messages' => ContactMessage::count(),
|
|
];
|
|
|
|
$recentMessages = ContactMessage::orderByDesc('created_at')->limit(5)->get();
|
|
$recentThreads = ForumThread::with('user', 'board')->orderByDesc('created_at')->limit(5)->get();
|
|
|
|
return view('admin.dashboard', compact('stats', 'recentMessages', 'recentThreads'));
|
|
}
|
|
}
|