如何将 User::create 方法转换为 json?

注册 Laravel Ajax。Auth / RegisterController 创建函数。但是我不能使用 jquery,因为该User::create方法不返回 json。


$validation = $this->validator($data);


if($data['type'] == "customer" || $data['type'] == "company") {

    if ($validation->fails())  {

        return response()->json([$validation->errors()->toArray()], 400);

    }else {

            //how can i do json?

        return User::create([

            'first_name' => $data['first_name'],

            'last_name'  => $data['last_name'],

            'email'      => $data['email'],

            'phone'      => $data['phone'],

            'password'   => Hash::make($data['password']),

        ]);

    }

}else {

    return response()->json([

        0 => ['Üyelik sırasında bir hata oluştu. Lütfen tekrar deneyiniz.']

    ], 404);

}


烙印99
浏览 194回答 3
3回答

蛊毒传说

$userModel = User::create([    'first_name' => $data['first_name'],    'last_name'  => $data['last_name'],    'email'      => $data['email'],    'phone'      => $data['phone'],    'password'   => Hash::make($data['password']),]);创建用户后,您将获得一个可以进一步使用的实体模型。如果你想以 JSON 形式返回,你可以这样做:return response()->json(['user' => $userModel]);

白衣非少年

你可以像这样返回json:return response()->json(['user' =>       User::create([        'first_name' => $data['first_name'],        'last_name'  => $data['last_name'],        'email'      => $data['email'],        'phone'      => $data['phone'],        'password'   => Hash::make($data['password']),      ])   ],200);因为,create 函数返回您创建的数据。我希望你明白。根据文档,一旦我们使属性可以批量分配,我们就可以使用 create 方法在数据库中插入一条新记录。create 方法返回保存的模型实例:

绝地无双

试试下面的代码$validation = $this->validator($data);    if($data['type'] == "customer" || $data['type'] == "company") {        if ($validation->fails())  {            return response()->json([$validation->errors()->toArray()], 400);        }else {            $user = User::create([                'first_name' => $data['first_name'],                'last_name'  => $data['last_name'],                'email'      => $data['email'],                'phone'      => $data['phone'],                'password'   => Hash::make($data['password']),            ]);          return response()->json([            0 => $user        ], 200);        }    }else {        return response()->json([            0 => ['Üyelik sırasında bir hata oluştu. Lütfen tekrar deneyiniz.']        ], 404);}
打开App,查看更多内容
随时随地看视频慕课网APP