Laravel-API表单插入数据库

时间:2019-01-05 08:00:08

标签: laravel-5.7

我正在使用文件上传功能制作laravel api。上载文件时会出现错误,并且表单数据未插入数据库。如何在laravel中解决此错误,请帮助我。

 public function store(Request $request)
    {

         $this->validate($request, [


            'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
            'email' => 'required|email|unique:users',
            'username' => 'required|string|max:50',
            'mobile' => 'required|number|max:10',
            'password' => 'required'
        ]);

        $employees = new Detail($request->input()) ;



         $employees->username = $request->get('username'),
         $employees->email= $request->get('email'),
         $employees->mobile = $request->get('mobile'),
         $employees->password = $request->get('password'),

         if($file = $request->hasFile('image')) {

            $file = $request->file('image') ;

            $fileName = $file->getClientOriginalName() ;
            $destinationPath = public_path().'/images/' ;
            $file->move($destinationPath,$fileName);
            $employees->image = '/images/'.$fileName ;
        }

         $employees->save();

        return response()->json(['message' => 'Image Uploaded Successfully']);


    }   

1 个答案:

答案 0 :(得分:0)

I am resolve this problem. this is my code which working form me.

    public function store(Request $request)

      {

        $details = new Detail($request->input()) ;

         $details->username = $request->username;
         $details->email= $request->email;
         $details->mobile = $request->mobile;
         $details->password = $request->password;

         if($file = $request->hasFile('image')) {

            $file = $request->file('image') ;

            $fileName = $file->getClientOriginalName() ;
            $destinationPath = public_path().'/images/' ;
            $file->move($destinationPath,$fileName);
            $details->image = '/images/'.$fileName ;
        }

         $details->save();

        return response()->json(['message' => 'Image Uploaded Successfully']);

    }