使用 laravl5 忽略更新时的空表单值
Ignore empty form values on update using laravl5
有没有办法从 request->all() 方法中删除空表单值?
这就是我在更新时尝试做的,换句话说,只有 post 填写表格值。
$data = request()->except(['_token','id']);
DB::table($table)->where('id',$id)->update($data);
注意:我有动态生成的列,所以我想我不能在参数列表中使用这些列。
这会更新该行的所有列,但我只想更新那些值已填充的列,其余 columns/fields 保持相同的旧值
// All posted data except token and id
$data = request()->except(['_token','id']);
// Remove empty array values from the data
$result = array_filter($data);
// update record
DB::table($table)->where('id', $arr)->update($result);
希望对您有所帮助。
// app/controllers/GiftsController.php
public function update($id)
{
// Grab all the input passed in
$data = Input::all();
// Use Eloquent to grab the gift record that we want to update,
// referenced by the ID passed to the REST endpoint
$gift = Gift::find($id);
// Call fill on the gift and pass in the data
$gift->fill($data);
$gift->save();
}
我在 this tutorial 中找到了这段代码,效果很好。希望对你有帮助。
有没有办法从 request->all() 方法中删除空表单值? 这就是我在更新时尝试做的,换句话说,只有 post 填写表格值。
$data = request()->except(['_token','id']);
DB::table($table)->where('id',$id)->update($data);
注意:我有动态生成的列,所以我想我不能在参数列表中使用这些列。
这会更新该行的所有列,但我只想更新那些值已填充的列,其余 columns/fields 保持相同的旧值
// All posted data except token and id
$data = request()->except(['_token','id']);
// Remove empty array values from the data
$result = array_filter($data);
// update record
DB::table($table)->where('id', $arr)->update($result);
希望对您有所帮助。
// app/controllers/GiftsController.php
public function update($id)
{
// Grab all the input passed in
$data = Input::all();
// Use Eloquent to grab the gift record that we want to update,
// referenced by the ID passed to the REST endpoint
$gift = Gift::find($id);
// Call fill on the gift and pass in the data
$gift->fill($data);
$gift->save();
}
我在 this tutorial 中找到了这段代码,效果很好。希望对你有帮助。