Php 如何防止删除和更新?
我有一个这样的多步骤的形式 我在Php 如何防止删除和更新?,php,laravel,Php,Laravel,我有一个这样的多步骤的形式 我在educationals表格中添加了这个表格 当我点击+按钮时,我添加了其他信息 它成功地添加到数据库中。现在,当添加其他数据时 1的id已删除。。。其中是1的id 我的刀片 <form method="post" enctype="multipart/form-data" action="{{ route('update', auth()->id()) }}"> <sel
educationals
表格中添加了这个表格
当我点击+按钮时,我添加了其他信息
它成功地添加到数据库中。现在,当添加其他数据时
1
的id已删除。。。其中是1
的id
我的刀片
<form method="post" enctype="multipart/form-data" action="{{ route('update', auth()->id()) }}">
<select name="educationals['+countStudy+'][grade_id]">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type="text" name="educationals['+countStudy+'][field]">
<input type="text" name="educationals['+countStudy+'][branch]">
<select name="educationals['+countStudy+'][institution_id]">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type="text" name="educationals['+countStudy+'][institution_education]">
<input type="text" name="educationals['+countStudy+'][gpa]">
<select name="educationals['+countStudy+'][nation_id]">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<select name="educationals['+countStudy+'][province_id]">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type="text" name="educationals['+countStudy+'][province_name]">
<select name="educationals['+countStudy+'][town_id]">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type="text" name="educationals['+countStudy+'][town_name]">
<input type="text" name="educationals['+countStudy+'][entrance]">
<input type="text" name="educationals['+countStudy+'][graduate]">
<input type="checkbox" name="educationals['+countStudy+'][currently_studying]">
<button type="submit">Update</button>
</form>
我发疯了,我试了三天,但我还没有解决我的问题。不确定我是否完全从中得到问题,但控件中的最后一行代码是执行
->delete()
我们实际上没有收到你的问题。在执行删除之前,你可以执行dd($Educational->Pull('id')
?让我们看看id是否在这里?@MahmoudKhosravi我想id1
不在您的$educationals->pulk('id')
,因此它会按照代码auth()->user()->educationals()->whereNotIn('id',$educationals->pulk('id')->delete()的预期被删除代码>@RobBiermann-
$educationals = collect([]);
foreach ($request->educationals as $key => $educational) {
$data = collect($educational);
$model = Educational::updateOrCreate($data->only(['grade_id', 'institution_id'])->toArray() + [
'user_id' => auth()->id()
], $data->except(['grade_id', 'institution_id', 'currently_studying'])->toArray() + [
'currently_studying' => $request->has("educationals.{$key}.currently_studying") ? 1 : 0
]
);
$educationals->push($model);
}
auth()->user()->educationals()->whereNotIn('id', $educationals->pluck('id'))->delete();