首页 > 解决方案 > 在 MySql 中更新,使用 laravel

问题描述

我在 laravel 中更新我的 sql 表时遇到问题,因为它会更改页面但不会在数据库中更新。单击 Atualizar 后,我需要让表单刷新数据库。

我的路线

 Route::get('/home', 'HomeController@index')->name('home');
    Route::get('/admin/paginas/{id}', 'AdminController@index')->name('admin');
    Route::post('/admin/paginas/{id}', 'AdminController@update')->name('admin');

我的控制器

                public function index($id)
            {
                $paginas = DB::select('select * from paginas');
                $conteudo = DB::select('select * from paginas where id = ?', [$id]);

                 return view("admin//paginas", compact('paginas','conteudo'));
            }

            public function update(Request $request, $id)
        {
            DB::table('paginas')
                    ->where('id', $id)
                    ->update(['conteudo' => $request->input('editor1')]);

            return redirect('home');

        }

我的观点

@foreach($paginas as $p)
    @endforeach
    <form  method="POST" action="/admin/paginas/{id}">
         {{ csrf_field() }}
        <div class="form-group">
        <label for="exampleFormControlSelect1">Selecione a página</label>
        <select class="form-control" id="page" onChange="AbrirSecao(this.value)" data-placeholder='Nenhum valor selecionado...'>
            <option value="" selected>Selecione uma página...</option>
             @foreach($paginas as $paginas)
          <option value="{{$paginas->id}}">{{$paginas->titulo}}</option>
             @endforeach
        </select>
      </div>
    @foreach($conteudo as $conteudo)
    @endforeach

     <textarea id="editor1" name="editor1"><?=$conteudo->conteudo?></textarea>

    <button type="submit" class="btn btn-outline-success btn-lg btn-block">ATUALIZAR</button>
    </form>

标签: phplaravel

解决方案


请检查您的更新函数 id 值是否为空,因为您已在表单操作中添加“/admin/paginas/{{$id}}


推荐阅读