auth () -> user () -> id не работает, когда я использую его в контроллере с использованием маршрутов к api.php - PullRequest
0 голосов
/ 17 ноября 2018
public function store(Request $request)
    {
        $booking = ($request->isMethod('put')) ? Booking::findOrFail($request->booking_id) : new Booking;
        $booking->checkIn = $request->checkIn;
        $booking->checkOut = $request->checkOut;
        $booking->room_id = $request->room_id;
        $booking->user_id = auth()->user()->id;//not working

        if($booking->save()){
            return new BookingResource($booking);
        }
    }

Route::put('/booking','BookingsController@store');//api.php

Здесь auth () -> user () -> id не работает, но его рабочая находка, если я использую тот же код, но код маршрута в маршрутах / web.php

Ответы [ 3 ]

0 голосов
/ 19 ноября 2018

используйте auth: api промежуточное ПО на вашем маршруте.

Route::middleware(['auth:api'])->put('/booking','BookingsController@store');
0 голосов
/ 19 ноября 2018

используйте этот способ в вашем контроллере:

use Illuminate\Support\Facades\Auth

$booking->user_id = Auth::user()->id;
0 голосов
/ 17 ноября 2018

параметр защиты прохода в аутентификации используется следующим образом.

1. auth('api')->user();  //if u are using api guard ...(web guard)
2. $request->user('api');     //by reqeust class
3. Auth::guard('api')->user()   //using Auth facade
...