56 lines
1.6 KiB
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!');
|
|
}
|
|
}
|