return Response()->json(['message' => $input['first_name']]);
give me in console my input text How can i save it in database?
I try to use
$input = Request::all();
$user = Auth::user();
$user->first_name = Response()->json(['message' => $input['first_name']]);
$user->save();
but dont work :/
You might be confused with the response().. That Response()... is what should be RETURNED in the end of the controller. That example would be
$input = Request::all();
$user = Auth::user();
$user->first_name = $input->first_name;
$user->save();
return response()->json(['user_saved' => $user ]);
EDIT
// HomeController.php
public function editUser(Request $request){
$user = User::find(Auth::user()->id)->first();
$user->first_name = $request->first_name;
if($user->save()){
return response()->json(["response" =>true,"user"=>$user]);
}
return response()->json(["response" =>false,"user"=>$user]);
}
// routes/web.php
Route::post('/user/update',[
'uses'=>'HomeController@editUser',
'as'=>'editUser'
]);
// javascript
$('#updateProfile').on('click', function() {
$.ajax({
method: 'POST',
url: '{{route("editUser")}}',
data: { first_name: $('#firstname').val(), _token: token }
})
(NOTE if you're using .js files, you might want to on your **.blade.php including the .js file, define the variable url there like you seem to be doing with token For example in blade) // index.blade.php
<script>
var token = "{{Session::token()}}";
var urlEditUser = '{{route("editUser")}}';
</script>