首页 > 解决方案 > 试图将用户投诉状态更改为已解决

问题描述

这是一个 API,让用户将他的投诉更改为已解决,但它返回 Call to undefined method App\Model\User::mapInto()

投诉控制器

public function markAsSolved($id, Request $request)
    {
        $user = auth('api_user')->user();
        $complaint = $user->complaints()->find($id);

        if (!$complaint) {
            return response([
                'status' => false,
                'code' => StatusCodes::NOT_FOUND,
                'message' => __('messages.not_found'),
                'data' => [],
            ])->setStatusCode(StatusCodes::NOT_FOUND);
        }

        $complaint->status == Complaint::SOLVED_STATUS;
        $complaint->save();

        return response()->json([
            'status' => true,
            'code' => StatusCodes::OK,
            'message' => __('messages.data_ratrived_successfully '),
            'data' => ComplaintResource::collection($user),
            
        ]);

投诉资源

我在哪里得到我的状态

public function toArray($request)
    {
        return [
            'id' => $this['id'],
            'subject' => $this['subject'],
            'complaint_id'=>$this['complaint_id'],
//            'sender' => $this->sender->getFullName(),
            'sender_type' => $this->sender instanceof User ? 'User' : 'Vendor',

            'description' => $this['description'],
            'status' => $this['status'],
            'status_str' => __('constants.' . $this['status']),
            'replies' => ComplaintReplyResource::collection($this->replies),
            'sent_time' => Carbon::parse($this->sent_time)->format('Y-m-d H:i A'),
        ];
    }

如何解决此问题并将已解决的状态发送到数据库,而其未决

标签: laravellaravel-7

解决方案


我不确定,但我认为您需要将Complaint集合传递给您的ComplaintResource,如下所示:

'data' => ComplaintResource::collection($user->complaints),

推荐阅读