Вызов функции-члена users () на null в laravel - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь добавить данные, но получаю сообщение об ошибке. Вызов функции-члена users () для null, все работало нормально. Не знаю, что не так в моем коде. Я даже не изменил свой код.

Я знаю ошибку, когда пользователь не вошел в систему, но мой пользователь также вошел в систему. Я тестирую API с помощью почтальона.

Вот мой код контроллера:

                   DB::beginTransaction();

    try{

        $request->request->add(['created_by' => Auth::user()->id]);
        $group = Group::where('name', $request->get('name'))->first();
        $group->users()->attach($request->get('group_members', [])); // error on this line users()

        DB::commit();

        return response([
            'status' => true,
            'message' => 'Group added',
        ], 200);

    } catch(\Exception $ex) {
        DB::rollback();
        return response([
            'status' => false,
            'message' => __('messages.validation_errors'),
            'errors' => $ex->getMessage(),
        ], 500);
    }

Мои маршруты:

  Route::middleware('jwt.auth')->group(function() {

Route::post('add_group', "GroupController@addGroup");

 });

Модель моей группы:

                  public function users()
{
    return $this->belongsToMany('App\Models\Users\User', 'group_members');
}

Моя пользовательская модель:

             public function groups()
{
    return $this->belongsToMany('App\Group', 'group_members');
}

Запрос моего тела почтальона:

       {
"name": "Steve",
"group_members": [4,6]
       }

как я сказал, ничего не изменилось в коде, он работал нормально день назад.

Ваша помощь будет высоко оценена. Спасибо

1 Ответ

0 голосов
/ 10 мая 2019

Вы используете JWT-Auth, поэтому вам нужно установить для вашего драйвера Api 'jwt' в app / config.php, чтобы вы могли получить доступ к текущему пользователю, используя

$user = JWTAuth::parseToken()->authenticate()

Не забудьтепередать токен в качестве заголовка авторизации в ваших запросах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...