我需要帮助更新我在laravel中创建的博客文章。 我正在使用宁静控制器中的更新方法来处理此问题。 在我看来,表单正在提交给控制器内的正确功能(更新方法),但数据库中的表没有反映出这种变化。更新Laravel中的表单
以下是我有以下形式:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Register</div>
<div class="panel-body">
<form class="form-horizontal" role="form" method="POST" action="{{ url('/posts/$post_id') }}">
{{ csrf_field() }}
<input type="hidden" name="_method" value="PUT">
<div class="form-group{{ $errors->has('title') ? ' has-error' : '' }}">
<label for="title" class="col-md-4 control-label">Title</label>
<div class="col-md-6">
<input id="title" type="text" class="form-control" name="title" value="{{ !empty(old('title')) ? old('title') : $post->title }}" required autofocus>
@if ($errors->has('title'))
<span class="help-block">
<strong>{{ $errors->first('title') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('content') ? ' has-error' : '' }}">
<label for="content" class="col-md-4 control-label">Content</label>
<div class="col-md-6">
<textarea id="content" type="text" class="form-control" name="content" required rows="15" cols="20">{{ !empty(old('content')) ? old('content') : $post->content }}</textarea>
@if ($errors->has('content'))
<span class="help-block">
<strong>{{ $errors->first('content') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
Post
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
这里是控制器功能
public function update(PostRequest $request, $id)
{
$title = $request->title;
$content = $request->content;
DB::table('posts')->where('id', $id)->update(['title' => $title, 'content' => $content]);
return 'Post was updated.<br>' . $title . '<br>' . $content;
}
我增加了$标题和$内容变量return语句只是为了看看他们正在经历良好并被正确捕获。当我提交表格时,我会收到返回语句,因为它是写在这里的。这至少告诉我这个表单正确地提交给了这个函数,但正如我所说的那样,数据库并没有反映这个变化。有人知道我在这里做错了吗?不知道是否其更新命令对于使用隐藏的inout字段的PUT方法的存根无法正确工作。
在此先感谢。
不相关的问题,但我会强烈建议使用**雄辩模型**。然后你的更新查询就像'$ post-> update();' – linuxartisan
一样简单。你为什么不调试你的SQL查询,尽管它看起来更新查询? – Kamal