-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathPostController.php
63 lines (51 loc) · 1.6 KB
/
PostController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
namespace App\Http\Controllers;
use App\Models\Post;
use Illuminate\Http\Request;
use Illuminate\View\View;
use Illuminate\Support\Facades\Response;
class PostController extends Controller
{
public function edit(Post $post): View
{
//нужно будет проверять аавтора, если пост существует
$title = $post->exists ? 'Редактирование' : 'Новая статья';
return view('post.edit', [
'title' => $title,
'post' => $post,
]);
}
public function update(Request $request, Post $post)
{
//нужно проверять аавтора, если пост существует
$request->validate([
'title' => 'required|string',
'content' => 'required|string',
]);
$post->fill([
'title' => $request->get('title'),
'content' => $request->get('content'),
'user_id' => $request->user()->id,
])->save();
//сюда поставить уведомление
return redirect()->route('post.edit', $post);//пока сюда
}
/**
* @param \Illuminate\Http\Request $request
*
* @return string
*/
public function list(Request $request)
{
$posts = Post::with('user')
->orderBy('id', 'desc')
->simplePaginate(2);
$test = view('post.list', [
'posts' => $posts,
])->fragmentsIf($request->has('page'), [
"posts",
// "more",
]);
return $test;
}
}