php - 在 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>
解决方案
请检查您的更新函数 id 值是否为空,因为您已在表单操作中添加“/admin/paginas/{{$id}}
推荐阅读
- python - 将字符串中的最后一个单词与前面的每个单词组合起来
- swift - 使用通用参数创建 async/await 函数
- python - 如何使用 pd.read_xml 正确解析 SEC cal.xml 文件?
- css - Safari 和 Chrome 之间的 CSS 'visibility:collapse' 错误?
- c# - 如何在 Unity 中使 UI 看起来像 Pixel Perfect?
- java - 使用的 lambda 表达式中未触发断点 n CompletableFuture.supplyAsync(Supplier) (不是由于延迟执行)
- c# - 下拉值需要传入repeater控件绑定方法
- android - 获取 Android Dialog Window 的实际偏移量
- c# - 如何有效地通过网络发送受约束的双精度值
- python - 在 `tortoise.field.ForeignKeyField` 中使用关键字 `related_name`