Leverage injected request object

Laravel automatically injects the current Http [request object][1] to all Controller actions and Middleware. Leveraging this object improves consistency and testability.

[1]: https://laravel.com/docs/5.7/requests#accessing-the-request
This commit is contained in:
Laravel Shift
2019-05-09 00:05:13 +00:00
parent b0732954c4
commit 97e88dd68b
48 changed files with 393 additions and 381 deletions
+4 -3
View File
@@ -13,6 +13,7 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Poll;
use App\Models\Voter;
use App\Models\Option;
@@ -55,10 +56,10 @@ class PollController extends Controller
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function show($slug)
public function show(Request $request, $slug)
{
$poll = Poll::whereSlug($slug)->firstOrFail();
$user = auth()->user();
$user = $request->user();
$user_has_voted = $poll->voters->where('user_id', '=', $user->id)->isNotEmpty();
if ($user_has_voted) {
@@ -78,7 +79,7 @@ class PollController extends Controller
*/
public function vote(VoteOnPoll $request)
{
$user = auth()->user();
$user = $request->user();
$poll = Option::findOrFail($request->input('option.0'))->poll;
foreach ($request->input('option') as $option) {