更新代码
This commit is contained in:
117
app/Admin/Controllers/ArticleController.php
Normal file
117
app/Admin/Controllers/ArticleController.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use App\Models\Article;
|
||||
use Illuminate\Http\Request;
|
||||
use Validator;
|
||||
|
||||
class ArticleController extends Controller
|
||||
{
|
||||
|
||||
public function notices(Request $request)
|
||||
{
|
||||
$title = $request->title;
|
||||
$orderField = $request->orderField;
|
||||
$orderDirection = $request->orderDirection;
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
$type = 'notices';
|
||||
|
||||
$articles = Article::where('type', $type)
|
||||
->when($title, function ($query) use ($title) {
|
||||
$query->where('title', 'like', "%{$title}%");
|
||||
})
|
||||
->when($orderField, function ($query) use ($orderField, $orderDirection) {
|
||||
$query->orderBy($orderField, $orderDirection);
|
||||
})->paginate($numPerPage);
|
||||
|
||||
return view('Admin::articles.index', compact('articles', 'type'));
|
||||
}
|
||||
|
||||
public function news(Request $request)
|
||||
{
|
||||
$title = $request->title;
|
||||
$orderField = $request->orderField;
|
||||
$orderDirection = $request->orderDirection;
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
$type = 'news';
|
||||
|
||||
$articles = Article::where('type', $type)
|
||||
->when($title, function ($query) use ($title) {
|
||||
$query->where('title', 'like', "%{$title}%");
|
||||
})
|
||||
->when($orderField, function ($query) use ($orderField, $orderDirection) {
|
||||
$query->orderBy($orderField, $orderDirection);
|
||||
})->paginate($numPerPage);
|
||||
return view('Admin::articles.index', compact('articles', 'type'));
|
||||
}
|
||||
|
||||
public function create(Request $request)
|
||||
{
|
||||
return view('Admin::articles.create');
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'title' => 'required|max:100',
|
||||
'description' => 'required|max:200',
|
||||
'content' => 'required',
|
||||
'storage_id' => 'required',
|
||||
|
||||
], [
|
||||
'title.required' => '名称必须填写',
|
||||
'title.max' => '名称长度应在:max以内',
|
||||
'description.required' => '简介必须填写',
|
||||
'content.required' => '内容必须填写',
|
||||
'storage_id.required' => '标题图必须上传',
|
||||
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return $this->error($validator->errors()->first());
|
||||
}
|
||||
|
||||
if (Article::create($request->all())) {
|
||||
return $this->success('新增文章成功', 'close');
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit(Article $article)
|
||||
{
|
||||
return view('Admin::articles.edit', compact('article'));
|
||||
|
||||
}
|
||||
|
||||
public function update(Request $request, Article $article)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'title' => 'required|max:100',
|
||||
'description' => 'required|max:200',
|
||||
'content' => 'required',
|
||||
'storage_id' => 'required',
|
||||
|
||||
], [
|
||||
'title.required' => '名称必须填写',
|
||||
'title.max' => '名称长度应在:max以内',
|
||||
'description.required' => '简介必须填写',
|
||||
'content.required' => '内容必须填写',
|
||||
'storage_id.required' => '标题图必须上传',
|
||||
|
||||
]);
|
||||
$data = $request->all();
|
||||
$article->update($data);
|
||||
return $this->success('', 'close');
|
||||
}
|
||||
|
||||
public function destroy(Article $article)
|
||||
{
|
||||
if ($article->delete()) {
|
||||
return $this->success();
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user