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.

Kesimpulan

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.