50 lines
1.3 KiB
PHP
50 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Berita;
|
|
use Carbon\Carbon;
|
|
|
|
class BeritaController extends Controller
|
|
{
|
|
/**
|
|
* Tampilkan semua berita.
|
|
*/
|
|
public function index()
|
|
{
|
|
// Ambil semua berita terbaru, urut dari tanggal terbaru
|
|
$berita = Berita::orderBy('tanggal_berita', 'desc')->paginate(6); // Pagination 6 per halaman
|
|
|
|
return view('user.berita', compact('berita'));
|
|
}
|
|
|
|
/**
|
|
* Tampilkan detail berita.
|
|
*/
|
|
public function show($id)
|
|
{
|
|
// Ambil berita berdasarkan ID
|
|
$berita = Berita::findOrFail($id);
|
|
|
|
// Ambil 5 berita terbaru selain yang sedang dibuka
|
|
$recentBerita = Berita::where('id_berita', '!=', $id)
|
|
->orderBy('tanggal_berita', 'desc')
|
|
->limit(5)
|
|
->get();
|
|
|
|
return view('user.detail-berita', compact('berita', 'recentBerita'));
|
|
}
|
|
|
|
/**
|
|
* Ambil 3 berita terbaru untuk slider di hero section
|
|
*/
|
|
public function hero()
|
|
{
|
|
$beritaHero = Berita::orderBy('tanggal_berita', 'desc')->take(3)->get();
|
|
|
|
return view('user.index', compact('beritaHero'));
|
|
}
|
|
}
|