我将路线定义为
Route::get('roundtables/{name}/tags/store',['as'=>'tags.store','uses'=>'TagController@store','middleware'=>['owner','auth']]);
在我看来,我在这个网址中有一个表单
<div class="col-md-3">
<div class="well">
{!! Form::open(['route'=>'tags.store','method'=>'GET']) !!}
<h2>New Tags</h2>
{{ Form::label('name','Name') }}
{{ Form::text('name',null,['class'=>'form-control']) }}
{{Form::submit('Create New Tag',['class'=>'btn btn-primary btn-block btn-h1-spacing'])}}
</div>
</div>
我的问题是,如何从ID为1的url获取id并在用户点击提交时传入表单。
我的控制器
public function store(Request $request,$name)
{
$this->validate($request,array('name'=>'required|max:255'));
$tag=new Tag;
$tag->name=$request->name;
$tag->roundtable_id=$name;
$tag->save();
Session::flash('success','New Tag was successfully added');
return redirect()->route('tags.index');
}
答案 0 :(得分:1)
您可以轻松使用request()
辅助方法获取通配符值。
{{request()->route('name')}}
答案 1 :(得分:1)
当您使用CRUD的自定义路由时,请避免使用标准的RESTful方法和路由名称。在构建表单之前,您需要将此变量传递给视图:
mscorlib
将路线定义为:
var arrOf12Numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120];
var result = [];
var sum = 0;
arrOf12Numbers.forEach(function (val, key) {
sum += val;
result.push(sum);
});
console.log(result);
然后从表单传递变量:
public function createTag($name)
{
....
return view('form', compact('name'));
}
并在控制器中获取它:
Route::get('roundtables/{name}/tags/storeTag',['as'=>'tags.storeTag','uses'=>'TagController@storeTag','middleware'=>['owner','auth']]);
答案 2 :(得分:0)
这应该有用。
Request::segment(2)
或者从控制器传递它:
public function index($name)
{
$tags= Tag::where($name)->first();
return view('tags.index')->withTags($tags)->with('name', $name);
}
然后将其传递给表格:
{!! Form::open(['route'=>['tags.store', $name],'method'=>'GET']) !!}
答案 3 :(得分:0)
在你的TagController中
public function index($name)
{
$tags= Tag::where($name)->first();
// add name parameter to return
return view('tags.index')->withTags($tags)->withName($name);
}
在你看来
<div class="col-md-3">
<div class="well">
//edit this form tag
{!! Form::open(['route'=>['tags.store',$name],'method'=>'GET']) !!}
<h2>New Tags</h2>
{{ Form::label('name','Name') }}
{{ Form::text('name',null,['class'=>'form-control']) }}
{{Form::submit('Create New Tag',['class'=>'btn btn-primary btn-block btn-h1-spacing'])}}
</div>
</div>
在TagController@store
public function store(Request $request,$name){
echo $name;
}