Untuk menampilkan detail artikel blog dalam aplikasi Laravel, kamu perlu melakukan beberapa langkah berikut:
1. Definisikan Route untuk Menampilkan Detail Artikel
Tambahkan route untuk menampilkan detail artikel di file `routes/web.php`:
use App\Http\Controllers\ArticleController;
Route::get('/articles/{id}', [ArticleController::class, 'show'])->name('articles.show');
2. Implementasikan Method show di Controller
Edit file app/Http/Controllers/ArticleController.php untuk menambahkan method show yang akan mengambil data artikel berdasarkan ID dan mengirimkannya ke view:
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
// Menampilkan daftar artikel
public function index()
{
$articles = Article::all();
return view('articles.index', compact('articles'));
}
// Menampilkan form untuk membuat artikel baru
public function create()
{
return view('articles.create');
}
// Menyimpan artikel baru ke database
public function store(Request $request)
{
$request->validate([
'title' => 'required|string|max:255',
'content' => 'required|string',
]);
Article::create($request->all());
return redirect()->route('articles.create')
->with('success', 'Article created successfully.');
}
// Menampilkan detail artikel
public function show($id)
{
$article = Article::findOrFail($id);
return view('articles.show', compact('article'));
}
}
3. Buat View untuk Menampilkan Detail Artikel
Buat file baru resources/views/articles/show.blade.php untuk menampilkan detail artikel:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ $article->title }}</title>
</head>
<body>
<h1>{{ $article->title }}</h1>
<p>{{ $article->content }}</p>
<small>Published at: {{ $article->created_at }}</small>
<br>
<a href="{{ route('articles.index') }}">Back to Articles</a>
</body>
</html>
4. Tambahkan Link ke Detail Artikel di Daftar Artikel
Edit file resources/views/articles/index.blade.php untuk menambahkan link ke detail artikel:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Articles</title>
</head>
<body>
<h1>Articles</h1>
<a href="{{ route('articles.create') }}">Create New Article</a>
<ul>
@foreach($articles as $article)
<li>
<h2><a href="{{ route('articles.show', $article->id) }}">{{ $article->title }}</a></h2>
<p>{{ $article->content }}</p>
<small>Published at: {{ $article->created_at }}</small>
</li>
@endforeach
</ul>
</body>
</html>
5. Jalankan Server Laravel
Jalankan server Laravel jika belum berjalan:
php artisan serve
6. Akses Detail Artikel di Browser
Buka browser dan akses URL http://localhost:8000/articles/{id} (gantilah {id} dengan ID artikel yang ingin kamu lihat detailnya) untuk melihat detail artikel tersebut.
Dengan mengikuti langkah-langkah di atas, kamu telah berhasil menampilkan detail artikel blog dalam aplikasi Laravel. Berikut adalah ringkasan langkah-langkah yang telah dilakukan:
- Menambahkan route untuk menampilkan detail artikel.
- Mengimplementasikan method show di controller untuk mengambil data artikel berdasarkan ID dan mengirimkannya ke view.
- Membuat view show.blade.php untuk menampilkan detail artikel.
- Menambahkan link ke detail artikel di daftar artikel.
- Menjalankan server Laravel dan mengakses detail artikel di browser.
Sekarang, kamu dapat melihat detail setiap artikel yang ada di database dengan mengklik judul artikel di halaman daftar artikel.