【发布时间】:2017-10-08 09:49:51
【问题描述】:
嗨,我尝试将字段保存在 db ot 2 步骤中,但我有 MethodNotAllowedHttpException
在我的控制器的第 1 步中,我将 2 个字段保存在 db 中
public function storeNumber(Request $request){
$number = new Number;
$number->user_id = $user = \Auth::user()->id;
$number->number = $this->getGeneratedNumber();
$number = new Number($request->all());
$number->save();
return redirect('numbers/{id}/details');
}
查看
<form class="form-horizontal" method="POST" action="{{action('NumberController@storeNumber')}}">
{{ csrf_field() }}
<div class="form-group">
<div class="col-md-12">
<button type="submit" class="btn btn-primary btn-block">
Generate Numbers
</button>
</div>
</div>
型号
class Number extends Model
{ /** * @var 数组 * */ 受保护的 $fillable = [ '数字' ]; }
在第 2 步中,我想使用相同的控制器将另一个字段保存在同一个数据库中,这是我的另一个存储功能,用于将另一个字段存储在同一个数据库中。但是当我尝试保存 laravel 时说 MethodNotAllowedHttpException。
public function store(Request $request, $id){
$number = Number::find($id);
$number = new Number($request->all());
$number->save();
return redirect('numbers');
}
这是我的看法
<form method="post" action="{{action('NumberController@store', $id)}}">
{{csrf_field()}}
<input name="_method" type="hidden" value="PATCH">
<div class="form-group">
<label for="number" class="control-label">Number</label>
<input type="text" class="form-control form-control-lg disabled" placeholder="Number" name="number" value="{{$number->number}}">
</div>
<div class="form-group">
<label for="comment" class="control-label">Comment</label>
<textarea name="comment" class="form-control form-control-lg" cols="30" rows="10">{{$number->comment}}</textarea>
</div>
<div class="form-group">
<label for="accept" class="control-label">Accept</label>
<input type="radio" name="accept" value="1">Yes<br>
<input type="radio" name="accept" value="0">No<br>
</div>
@if($number->accept == 1)
<div class="form-group">
<label for="name" class="control-label">Number</label>
<input type="text" class="form-control form-control-lg disabled" placeholder="Name" name="name" value="{{$number->name}}">
</div>
<div class="form-group">
<label for="city" class="control-label">City</label>
<input type="text" class="form-control form-control-lg" placeholder="City" name="city" value="{{$number->city}}">
</div>
<div class="form-group">
<label for="postcode" class="control-label">Postcode</label>
<input type="number" class="form-control form-control-lg" placeholder="Postcode" name="postcode" value="{{$number->postcode}}">
</div>
<div class="form-group">
<label for="address">Address</label>
<textarea name="address" class="form-control form-control-lg" cols="30" rows="10">{{$number->address}}</textarea>
</div>
@else
<p>TODO status for NO</p>
@endif
<div class="form-group">
<div class="col-md-12">
<button type="submit" class="btn btn-default">Finish</button>
</div>
</div>
</form>
【问题讨论】:
-
你的路由文件里有什么?您的表单应该有一个 POST 路由。
-
是的,我发布了 2 种方法的路线。我尝试在不同页面的 db 中的一个表中保存具有 2 种方法的字段
标签: php laravel laravel-5 laravel-5.2 laravel-5.3