laravel 8 API : return user_id 如何在存储方法中使用身份验证?

laravel 8 API : how return user_id in store method with authentication?

我正在用 laravel 8 构建一个 API,

我有一个 Post table 包含以下列:

id category_id user_id title body picture study_time likes tags

我希望当具有管理员或作者级别并登录管理面板的用户可以添加 post 并在表单中显示 his/her 用户名,但我不希望他们更改了此字段(user_id)。

我不知道是否有可能 return 它有 JSON 响应?

我该怎么做??

我的Post控制器:

public function store(Request $request )
    {
        $data = $request->all();

        $validator = Validator::make($data, [
            'category_id'=>'required',
            'title' => 'required|max:100|unique:categories',
            'body'=>'required',
            'picture'=>'required',
            'study_time'=>'required',
            'likes'=>'required',
            'tags'=>'null|string',
        ]);

        if ($validator->fails()) {
            return response(['error' => $validator->errors(), 'Validation Error']);
        }

        $tags = explode(",", $request->tags);


        $post = Post::create($data);
        $post->tag($tags);

        return response()->json([
        'data' => $post,
        'message' => 'xxx'
        ], 201);


    }

return response()->json([
    'data' => $post,
    'message' => 'xxx'
], 201);