更新另一个表上的特定表字段

mi7gmzs6  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(283)

我需要在另一个表的单独字段中更新特定的一个id/行。这是怎么回事?到目前为止,我有这个伪代码sql查询。
表名:设置
当前表格:飞机
更新设置集描述id=4
我需要更新数据库中我的数据库的id 4 settings 如何将此代码集成到laravel语法中?
假设我有这个控制器

public function editAirReg(Request $request, $id)
{

    $descr = $request->input('descr_id');
    DB::update('update settings set description = ,'$descr', where id = 4',[$name,$id]);
    return redirect('/admin/aircrafts')->with('success', 'Settings Updated');
}

还有这个观点

{!! Form::open(['action' => 'Admin\AircraftsController@getdata', 'method' => 'POST']) !!}

   <input type="hidden" class="form-control" name="settings" value="{{$aircraft->air_line}}">

 {{Form::submit('BIND', ['class'=>'btn btn-primary btn-block btn-lg', 'name'=>'submit'])}}

 {!! Form::close() !!}
nbysray5

nbysray51#

首先,如果要更新mysql中的某些内容,getdata()就没有意义。它应该被称为store()或save或任何你想调用的函数,这样函数名就合适了。
让我们更改窗体,以便它可以将id传递给控制器。

{ Form::open(array('action' => 'Admin\AircraftsController@getdata', $id)) }}
    {{ Form::hidden('settings', $aircraft->air_line) }}
    {{ Form::submit('Submit', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}

我所做的是改变你对laravel语法的输入。还要确保将id从窗体传递给控制器。看看我的例子。看看我把$id字段放在哪里。
现在在控制器中,这就是你要做的。

$setting = Setting::findOrFail($id); // you must have a model or you can use DB facade
$setting->description = $request->settings; //name that you called it in form
$setting->save();

相关问题