✏️ 编辑:BlogController.php
路径:
/home/boguraj1/.trash/app/Http/Controllers/Admin/BlogController.php
大小:2.65 KB · 修改:2026-07-23 16:13:46 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\BlogPost; use Illuminate\Http\Request; use Illuminate\Support\Str; class BlogController extends Controller { public function index() { $posts = BlogPost::latest()->paginate(20); return view('admin.blog.index', compact('posts')); } public function create() { return view('admin.blog.create'); } public function store(Request $request) { $data = $request->validate([ 'title' => 'required|string|max:255', 'slug' => 'nullable|string|unique:blog_posts,slug', 'excerpt' => 'nullable|string', 'content' => 'required|string', 'image' => 'nullable|image|max:4096', 'status' => 'boolean', 'published_at' => 'nullable|date', ]); $data['slug'] = $data['slug'] ?? Str::slug($data['title']); $data['status'] = $request->boolean('status', false); $data['published_at'] = $data['published_at'] ?? ($data['status'] ? now() : null); if ($request->hasFile('image')) { $data['image'] = $request->file('image')->store('blog', 'public'); } BlogPost::create($data); return redirect()->route('admin.blog.index')->with('success', 'Blog post published.'); } public function edit(BlogPost $blog) { return view('admin.blog.edit', compact('blog')); } public function update(Request $request, BlogPost $blog) { $data = $request->validate([ 'title' => 'required|string|max:255', 'slug' => 'nullable|string|unique:blog_posts,slug,' . $blog->id, 'excerpt' => 'nullable|string', 'content' => 'required|string', 'image' => 'nullable|image|max:4096', 'status' => 'boolean', 'published_at' => 'nullable|date', ]); $data['slug'] = $data['slug'] ?? Str::slug($data['title']); $data['status'] = $request->boolean('status', false); if (!$blog->published_at && $data['status']) { $data['published_at'] = now(); } if ($request->hasFile('image')) { $data['image'] = $request->file('image')->store('blog', 'public'); } $blog->update($data); return redirect()->route('admin.blog.index')->with('success', 'Blog post updated.'); } public function destroy(BlogPost $blog) { $blog->delete(); return redirect()->route('admin.blog.index')->with('success', 'Blog post deleted.'); } }
💾 保存
取消
保存为 UTF-8,换行统一为 LF