首页 > 解决方案 > Laravel - 更新表上的值

问题描述

您好,我如何更新表格上的数据?还使用 foreach 循环来获取所有数据。帮助 谢谢

现在我的代码给了我一个错误这是我的错误

函数 App\Http\Controllers\Admin\SettingsController::index() 的参数太少,通过了 1 个,预期正好有 2 个

我的index.php 表

{!! Form::open(['action' => ['Admin\SettingsController@update', $setting->id], 'method' => 'POST']) !!}

 <tbody>
                @foreach ($settings as $setting)
                <tr>
                    <td> {{Form::text('settings_code', $setting->settings_code, ['class' => 'form-control', 'placeholder' => 'Enter a Flight Number'])}}</td>
                    <td>{{ $setting->subject }}</td>
                    <td>{{ $setting->description }}</td>
                    <td>

                    {{Form::hidden('_method', 'PUT')}}

                    {{Form::submit('Update', ['class'=>'btn btn-primary', 
                    'name'=>'submit'])}} <br><br>
                    </td>
                    </tr>      


        @endforeach

 </tbody>
        {!! Form::close() !!}

我的控制器

  public function index()
{
    $settings = Setting::where('settings_code', '<>', 'SESSION_VALIDITY')->get();
    $setting = Setting::find($id);
    $setting->settings_code = $request->input('settings_code');
    $setting->save();
    return view('admin.settings.index', compact('settings'));
}

标签: mysqllaravellaravel-5eloquent

解决方案


尝试这个

public function index(Request $request,$id)
{
$settings = Setting::where('settings_code', '<>', 'SESSION_VALIDITY')->get();
$setting = Setting::find($id);
$setting->settings_code = $request->input('settings_code');
$setting->save();
return view('admin.settings.index', compact('settings'));
}

推荐阅读