这是我的路线:
Route::post('/store', 'EditlinkController@store');
我的控制器
public function index()
{
$id = $_GET['id'];
$links = DB::table('slugs')->where('slugs.id',$id)
->join('links','links.sid','=','slugs.id')
->get();
return view('editlink', ['links' => $links]);
}
public function store(Request $request, $id)
{
$url = $request->input('url');
$data =new link;
$sid = $id;
$data->sid = $sid;
$data ->url = $url;
$data ->save();
return redirect('/links');
}
我的观点:
<form role="form" method='POST' action="{{url('store')}}">
<div class="entry input-group col-xs-3">
<input class="form-control" name="url" type='url' placeholder="https://..." size="100"/>
<input type="hidden" name="_Token" value="{{ csrf_token() }}">
<button type="submit" class="btn btn-primary" type="button">
<span class="material-icons md-12">add</span>
</button>
{{ csrf_field() }}
</div>
</form>
所以基本上在这里我想从索引调用$ id到存储。我也尝试过
Route::post('/store/{id}', 'EditlinkController@store');
但是仍然不起作用。谢谢。
答案 0 :(得分:2)
您的路线/store/{id}
要求您具有route参数。在为表单生成URL之前,请确保您有$id
可用。
包含$id
的开放式表单标签的外观示例:
<form role="form" method='POST' action="{{url('store', $id)}}">
我假设视图 editlink 是表单标记所在的位置。如果是这样,则只需将id的值从控制器传递给视图:
return view('editlink', ['links' => $links, 'id' => $id]);