我有表dosen
,我想将数据更新为" statusdosen"列。
我有网址:... admin / dosen / status
当我点击“保存”时,页面会重定向到..admin/dosen
,并且该行中的所有数据都已重置(空)。
这是我的观点
{!! Form::model($value, ['route' => ['admin.dosen.update', $value->user_id], 'method' => 'PUT']) !!}
<br>
{!! Form::select('statusdosen', array('1' => 'Dikampus', '0' => 'Tidak Dikampus'), null, ['placeholder' => 'Pilih Status'], ['class' => 'form-control']) !!}
<br><br>
!! Form::button('<i class="fa fa-check-square-o"></i> Simpan', ['type' => 'submit', 'class' => 'btn btn-primary btn-sm'] ) !!}
{!! Form::close() !!}
方法:
public function status()
{
$dosen = Dosen::paginate(10);
return view('admin/dosen.status', compact('dosen'));
}
public function update($id)
{
$dosenUpdate = Request::only(['nipy', 'namadosen', 'alamatdosen', 'notelpdosen', 'tempatlahirdosen', 'tanggallahirdosen']);
$user = User::find($id);
$user->dosen()->update($dosenUpdate);
return redirect('admin/dosen')->with('message', 'Data berhasil diubah!');
}
我想要的是点击保存后不重定向到其他页面。我是否必须为&#39; statusdosen&#39;?
创建新的更新方法数据答案 0 :(得分:0)
好的,这解释了evreything
$user = User::find($id);
实际上这与
相同Update
dosen
Set
Columnname1=$data, Columnnam2=data2
Where
user_id = $id
这意味着将更新具有此user_id的所有行。
你应该这样做
public function update($id) {
$dosenUpdate = Request::only(['nipy', 'namadosen', 'alamatdosen', 'notelpdosen', 'tempatlahirdosen', 'tanggallahirdosen']);
//$user= User::find($id); $user->dosen()->update($dosenUpdate);
$dosen = dosen::find($id); // parameter $id must be id of the dosen you want to update
$dosen->update(dosenUpdate);
return back()->with('message', 'Data berhasil diubah!');
}
return back()
会将您带回上一页,但在重新加载页面时,所有输入值都不会出现。
如果您确实希望以两种方式保留数据
return back()->withInput()
并使用old
将数据存储到相应的输入。使用AJAX,并以json的形式返回响应。
例如:
return response()->json(['message'=>'Data berhasil diubah!');
答案 1 :(得分:0)
我认为你正在寻找本行的内容
public function update(Request $request, $id) {
// Make sure the value is true/1 or false/0
$this->validate($request, ['statusDosen' => 'boolean']);
// Retrieve only the status
$statusDosen = $request->get('statusDosen');
// Update user->dosen()
$user = User::find($id);
$user->dosen()->update($statusDosen);
// Redirect back to the page you came from with your message
return redirect()->back()->with('message', 'Data berhasil diubah!');
}