Newer
Older
<?php
namespace App\Http\Controllers;
use App\Feedback;
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
64
65
66
67
68
69
70
71
72
73
74
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
class FeedbackController extends Controller
{
public function __construct()
{
// Uncomment to require authentication
$this->middleware('admin');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
// 'name' => 'required|string|regex:/^[a-zA-Z0-9\s-\.]+$/|max:255'
]);
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view("feedback.index", ["feedback" => Feedback::all()->sortBy("created_at")]);
}
/**
* Show the form for creating a new resource.
* We use the same view for create and update => provide an empty Feedback.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view("feedback.edit", ["feedback" => new Feedback()]);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validator($request->all())->validate();
$feedback = new Feedback();
// $feedback->name = $request->name;
$feedback->save();
return redirect(action('FeedbackController@index'));
}
/**
* Display the specified resource.
*
* @param Feedback $feedback * @return \Illuminate\Http\Response
*/
public function show(Feedback $feedback)
{
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
return view("feedback.show", ["feedback" => $feedback]);
}
/**
* Show the form for editing the specified resource.
*
* @param Feedback $feedback * @return \Illuminate\Http\Response
*/
public function edit(Feedback $feedback)
{
return view("feedback.edit", ["feedback" => $feedback]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param Feedback $feedback * @return \Illuminate\Http\Response
*/
public function update(Request $request, Feedback $feedback)
{
$this->validator($request->all())->validate();
// $feedback->name = $request->name;
$feedback->save();
return redirect(action('FeedbackController@index'));
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
Feedback::find($id)->delete();
return redirect(action("FeedbackController@index"));
}
}