你忘记了结束括号
您的routes.php 文件中有错误:
Route::get('sig/edit{id}{ticketid}', 'TicketsController@edit');
应该是:
Route::get('sig/edit/{id}/{ticketid}', 'TicketsController@edit');
注意edit和id后面的正斜杠。
并且在视图中它应该是以下之一:
<a href="{{ url('sig/edit/ ' . $value->id . '/' . $value->ticketid .')}}" title="Edit signature">
或者
<a href="/sig/edit/{$value->id}/{$value->ticketid}" title="Edit signature">
我希望这对您有帮助。干杯。
路线
Route::get('sig/edit{id}{ticketid}','TicketsController@edit')->name(sig.edit);
链接
<a href="{{route('sig.edit',[$value->id,$value->ticketid])}}" title="Edit signature">
<a class="getValues" href="/sig/edit" title="Edit signature"/>Edit</a>
<input type="hidden" id="id" name="id" value"={{$value->id}}"/>
<input type="hidden" id="ticketid" name="ticketid" value="{{$value->ticketid}}"/>
jQuery(document).ready(function(){
var $id=jQuery('#id').val();
var $ticketid=jQuery('#ticketid').val();
jQuery('getValues').on('click',function(){
$.ajax({
url:'yourController/controller'sFunction',
data:{'id':$id,'ticketid':$ticketid},
}).success(function(response){
alert(rseponse);
});
})
});
将此行代码粘贴为控制器函数中的第一行...
$inputs = Input::all();
并获取输入值,例如
echo $ticketid=$inputs['ticketid'];
echo "<br/>";
echo $id=$inputs['id'];
就我而言,我传递两个参数,如下所示:
路线
Route::get('/add/{debitid}/{creditid}',
['as'=>'loan_add',
'uses'=>'LoanController@loanset']);
在贷款控制器中
public function loanset($debitid, $creditid)
{
$debit_user= UserModel::findOrFail($debitid);
$credit_user= UserModel::findOrFail($creditid);
return view('load.add',compact('debit_user','credit_user'));
}
这个例子可能会有帮助。
我发现这种方法可以使你的 URL 保持相同并访问多个参数
<a href="/sig/edit?id={{$value->id}}&ticketid={{$value->ticketid}}" title="Edit signature">
路线
Route::get('sig/edit', 'TicketsController@edit');
访问控制器中的参数值
控制器
public function edit(){
$id = Input::get('id');
$ticketId = Input::get('ticketid');
}
注意:导入控制器中的输入
use Illuminate\Support\Facades\Input;
在
routes/web.php
文件中 - 这个对我有用。
Route::any('/documents/folder/{args?}', function($args){
$args = explode('/', $args);
return $args;
})->where('args', '(.*)');
它现在应该处理每个参数/参数。
希望它有效!
当你像这样传递参数时?name=value,你不必为其设置路由,你可以通过依赖注入
直接在控制器中访问它你必须将其添加到你的班级上方
use Illuminate\Http\Request;
然后在控制器中注入它并按名称获取参数值:
public function edit(Request $request)
{
//
$id= $request->id;
$tkt= $request->tkt_id;
}
实现此目的的一种方法是将参数及其值组织在数组中。
您的路线定义如下:
Route::get('sig/edit{id}{ticketid}','TicketsController@edit')->name('ticket.edit');
//call your route like this
$params = [
'id' => $value->id,
'ticketid' => $value->ticketid,
];
route('ticket.edit', $params);
在 Laravel 10 中,即使没有路由签名中定义的参数,它仍然会传递给路由。