當我更新特定記錄時,該記錄不會更新,但會添加一條新記錄并且該記錄不會更新。
我之所以使用updateOrCreate()是因為我使用了一種模式來添加和更新,并且我使用 ajax 將資料傳遞給了控制器。只是為了讓您知道我有一個外鍵,如果這可能有幫助的話,它就是航空公司 ID。
阿賈克斯:
$('body').on('click', '#btn-save', function (event) {
var id = $("#id").val();
var flightDesignator = $("#flightDesignator").val();
var departureFrom = $("#departureFrom").val();
var arriveTo = $("#arriveTo").val();
var departureTime = $("#departureTime").val();
var ArrivalTime = $("#ArrivalTime").val();
var airlineId = $("#airlineId").val();
$("#btn-save").html('Please Wait...');
$("#btn-save"). attr("disabled", true);
$.ajax({
type:"POST",
url: "{{ url('admin/add-update-flights') }}",
data: {
id:id,
flightDesignator:flightDesignator,
departureFrom:departureFrom,
arriveTo:arriveTo,
departureTime:departureTime,
ArrivalTime:ArrivalTime,
airlineId:airlineId,
},
dataType: 'json',
success: function(res){
window.location.reload();
$("#btn-save").html('Submit');
$("#btn-save"). attr("disabled", false);
Swal.fire(
'Good job!',
'You clicked the button!',
'success'
)
}
});
});
控制器:
public function store(Request $request)
{
$Flight = Flight::updateOrCreate(
[
'FlightId' => $request->id
],
[
'flightDesignator' => $request->flightDesignator,
'departureFrom' => $request->departureFrom,
'arriveTo' => $request->arriveTo,
'departureTime' => $request->departureTime,
'ArrivalTime' => $request->ArrivalTime,
'airlineId' => $request->airlineId,
]);
return response()->json(['success' => true]);
}
public function edit(Request $request)
{
$where = array('FlightId' => $request->id);
$flight = Flight::where($where)->first();
return response()->json($flight);
}
uj5u.com熱心網友回復:
容易修復
if($request->id)
{
$Flight = Flight::find($request->id);
}
else{
$Flight = new Flight();
}
$Flight->flightDesignator = $request->flightDesignator;
/* remaing data*/
$Flight->save();
return response()->json(['success' => true]);
uj5u.com熱心網友回復:
$update_value = YourModel::updateOrCreate(
['your_checking_column' => 'your_value',],
['your_updated_coumn' => 'your_updated_value']
);
這里首先檢查$request->id的值。如果值為空,updateOrCreate() 將創建一條記錄,而不是更新現有記錄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/452475.html
