TKK_E32211801/app/Http/Controllers/BlogController.php

56 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Blog;
class BlogController extends Controller
{
public function index()
{
$blogs = Blog::all();
return view('blog.index', compact('blogs'));
}
public function show($id)
{
$blog = Blog::findOrFail($id);
return view('blog.show', compact('blog'));
}
public function create()
{
return view('blog.create');
}
public function store(Request $request)
{
// Validasi data
$request->validate([
'title' => 'required|string|max:255',
'content' => 'required|string',
'image' => 'image|mimes:jpeg,png,jpg,gif|max:2048', // Menambahkan validasi untuk gambar
]);
// Simpan gambar
$imageName = null;
if ($request->hasFile('image')) {
$imageName = time().'.'.$request->image->extension();
$request->image->move(public_path('images'), $imageName);
}
// Simpan blog baru ke dalam database dengan menambahkan informasi pengguna saat ini sebagai author
$blog = new Blog([
'title' => $request->title,
'content' => $request->content,
'author' => auth()->user()->name, // Menggunakan nama pengguna yang saat ini masuk sebagai author
'image' => $imageName, // Menyimpan nama file gambar ke dalam basis data
]);
$blog->save();
// Redirect ke halaman lain dengan pesan sukses
return redirect()->route('blog.index')->with('success', 'Blog created successfully!');
}
}