为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
烙印99 2021-11-05 15:25:07
注册 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);}
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超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]);


查看完整回答
反对 回复 2021-11-05
?
白衣非少年

TA贡献1155条经验 获得超0个赞

你可以像这样返回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 方法返回保存的模型实例:


查看完整回答
反对 回复 2021-11-05
?
绝地无双

TA贡献1946条经验 获得超4个赞

试试下面的代码


$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);

}


查看完整回答
反对 回复 2021-11-05
  • 3 回答
  • 0 关注
  • 192 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信