Я пытаюсь обновить моего пользователя в laravel, используя ajax, но я получаю это сообщение Нет результатов запроса для модели [App \ User] {id} , что это значит и как решить эта ошибка
код моего контроллера
public function update(Request $request, $id) {
$user = User::findOrFail($id);
$user->name = $request->name;
$user->phone = $request->phone;
$user->email = $request->email;
$user->country = $request->country;
$user->state = $request->state;
$user->purpose = $request->purpose;
$user->package = $request->package;
$user->months = $request->months;
$user->quantity = $request->quantity;
$user->amount = $request->amount;
$user->expiry_date = $request->expiry_date;
$user->save();
return response()->json($user);
}
код моего блейд-файла
<form id="editFormId">
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
<h2>Order Information</h2>
<div class="row">
<input type="hidden" value="{{ $userinformations[0]->id }}" name="id" id="id">
<div class="col-md-3">
<div class="form-group">
<label for="package">{{ __('Package') }}</label>
<select id="package" name="package" class="form-control @error('package') is-invalid @enderror" value="{{ old('package') }}" required autocomplete="package" autofocus>
@foreach($userinformations as $userinformation)
<option value="{{ $userinformation->package }}" <?php if(isset($_GET['package']) == '{{ $userinformation->package }}') echo 'selected'; ?>>{{ ucfirst($userinformation->package) }}</option>
@endforeach
<option value="basic">Basic</option>
<option value="regular">Regular</option>
<option value="infinite">Infinite</option>
</select>
@error('package')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="months">{{ __('Months') }}</label>
<select id="months" name="months" class="form-control @error('months') is-invalid @enderror" value="{{ old('months') }}" required autocomplete="months" autofocus>
@foreach($userinformations as $userinformation)
<option value="{{ $userinformation->months }}" <?php if(isset($_GET['months']) == '{{ $userinformation->months }}') echo 'selected'; ?>>{{ $userinformation->months }} Months</option>
@endforeach
<option value="1">1 months</option>
<option value="4">4 months</option>
<option value="12">12 months</option>
</select>
@error('months')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="quantity">{{ __('Quantity') }}</label>
<select id="quantity" name="quantity" class="form-control @error('quantity') is-invalid @enderror" value="{{ old('quantity') }}" required autocomplete="quantity" autofocus>
<option value="1" selected="selected">1</option>
<option value="2">2</option><option value="3">3</option>
<option value="4">4</option><option value="5">5</option>
<option value="6">6</option><option value="7">7</option>
<option value="8">8</option><option value="9">9</option>
<option value="10">10</option>
</select>
@error('quantity')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-md-3 ">
<label for="amount">{{ __('Amount') }}</label>
<div class="input-group">
<span class="input-group-addon">INR</span>
<select id="amount" name="amount" class="form-control @error('amount') is-invalid @enderror" value="{{ old('amount') }}" required autocomplete="amount" autofocus>
@foreach($userinformations as $userinformation)
<option value="{{ $userinformation->amount }}" <?php if(isset($_GET['amount']) == '{{ $userinformation->amount }}') echo 'selected'; ?>>{{ $userinformation->amount }}</option>
@endforeach
<option>Select Amount</option>
<option value="2500" data-package="basic">2500</option>
<option value="4000" data-package="basic">4000</option>
<option value="7000" data-package="basic">7000</option>
<option value="3500" data-package="regular">3500</option>
<option value="7000" data-package="regular">7000</option>
<option value="12000" data-package="regular">12000</option>
<option value="15000" data-package="infinite">15000</option>
<option value="30000" data-package="infinite">30000</option>
<option value="50000" data-package="infinite">50000</option>
</select>
</div>
</div>
</div>
<hr>
<h2>Billing Information</h2>
<div class="row">
<div class="col-md-6 form-group">
<label for="name">{{ __('Name') }}</label>
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ $userinformations[0]->name }}" required autocomplete="name" autofocus disabled>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-md-6 form-group">
<label for="phone">{{ __('Phone') }}</label>
<input id="phone" type="text" class="form-control @error('phone') is-invalid @enderror" name="phone" value="{{ $userinformations[0]->phone }}" required autocomplete="phone" disabled>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row">
<div class="col-md-6 form-group">
<label for="country">{{ __('Country') }}</label>
<input id="country" type="text" class="form-control @error('country') is-invalid @enderror" name="country" value="{{ $userinformations[0]->country }}" required autocomplete="country" autofocus disabled>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-md-6 form-group">
<label for="state">{{ __('State') }}</label>
<input id="state" type="text" class="form-control @error('state') is-invalid @enderror" name="state" value="{{ $userinformations[0]->state }}" required autocomplete="state" autofocus disabled>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row">
<div class="col-md-6 form-group">
<label for="purpose">{{ __('Purpose') }}</label>
<select id="purpose" class="form-control @error('purpose') is-invalid @enderror" name="purpose" value="{{ old('purpose') }}">
@foreach($userinformations as $userinformation)
<option value="{{ $userinformation->purpose }}" <?php if(isset($_GET['purpose']) == '{{ $userinformation->purpose }}') echo 'selected'; ?>>{{ $userinformation->purpose }}</option>
@endforeach
<!---option>Select Purpose</option>
<option value="parent">Parent</option>
<option value="employmee">Employmee</option---->
</select>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-md-6 form-group">
<label for="email">{{ __('E-Mail Address') }}</label>
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ $userinformations[0]->email }}" required autocomplete="email" disabled>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<!---button type="submit" class="btn btn-primary">
{{ __('Register') }}
</button---->
<a href="javascript:void(0)" class="btn btn-sm btn-primary float-right buy_now" data-amount="1" data-id="1">Make Payment</a>
</div>
</div>
</form>
Маршрут
Route::put('update/{id}', 'razorpay\PaymentController@update');
Мой ajax запрос
<script>
var SITEURL = 'http://localhost:8000/update/{user}';
//alert('SITEURL');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('body').on('click', '.buy_now', function(e){
var totalAmount = $(this).attr("data-amount");
var product_id = $(this).attr("data-id");
var options = {
"key": "***********",
"amount": (totalAmount*100), // 2000 paise = INR 20
"name": "AddSpy",
"description": "Payment",
"image": "http://localhost:8000/frontend/images/addspy1.png",
"handler": function (response){
$.ajax({
url: SITEURL,
type: 'post',
dataType: 'json',
data: {
"_token": $('#token').val(),
razorpay_payment_id: response.razorpay_payment_id ,
totalAmount : totalAmount ,product_id : product_id,
name : $('#name').val(),
phone : $('#phone').val(),
email : $('#email').val(),
country : $('#country').val(),
state : $('#state').val(),
purpose : $('#purpose').val(),
package : $('#package').val(),
months : $('#months').val(),
quantity : $('#quantity').val(),
amount : $('#amount').val(),
password : $('#password').val(),
expiry_date : $('#expiry_date').val(),
},
success: function (msg) {
//window.location.href = 'thank-you';
}
});
},
"prefill": {
"contact": '1234567890',
"email": 'xxxxxxxxx@gmail.com',
},
"theme": {
"color": "#528FF0"
}
};
var rzp1 = new Razorpay(options);
rzp1.open();
e.preventDefault();
});
</script>
Пожалуйста, проверьте мой код и обновите его. Дайте мне пожалуйста знать, где я не прав и как это исправить.
Заранее спасибо