首页 文章

如何在laravel 5.1中使用url(路由)传递多个参数

提问于
浏览
7

LARAVEL 5.1

我想编辑具有ID和TktID的表 .

我想将这两个参数传递给我的TestController的编辑方法 .

我的链接:

<a href="/sig/edit?id={{$value->id}}&ticketid={{$value->ticketid}}" title="Edit signature">

我的路线.php

Route::get('sig/edit{id}{ticketid}','TicketsController@edit');

控制器的编辑方法:

public function edit($id, $ticketid)
    {
        //
    }

如何将route.php中的两个参数传递给控制器 .

5 回答

  • 12

    你忘了端架了

    您的routes.php文件中有错误:

    Route::get('sig/edit{id}{ticketid}', 'TicketsController@edit');
    

    应该:

    Route::get('sig/edit/{id}/{ticketid}', 'TicketsController@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">
    

    我希望这能够帮到你 . 干杯 .

  • 4
    <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);
                });
         })
    });
    

    paste this line of code as first line in your controller's function ...

    $inputs = Input::all();
    

    and get values of input like

    echo    $ticketid=$inputs['ticketid'];
     echo "
    "; echo $id=$inputs['id'];
  • 0

    Route

    Route::get('sig/edit{id}{ticketid}','TicketsController@edit')->name(sig.edit);

    link

    <a href="{{route('sig.edit',[$value->id,$value->ticketid])}}" title="Edit signature">

  • 1

    我发现这种方式可以保持您的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;
    
  • 1

    在我的情况下,我传递两个这样的参数:

    ROUTES

    Route::get('/add/{debitid}/{creditid}',
        ['as'=>'loan_add',
        'uses'=>'LoanController@loanset']);
    

    In LoanController

    public function loanset($debitid, $creditid)
    {
        $debit_user= UserModel::findOrFail($debitid);
        $credit_user= UserModel::findOrFail($creditid);
        return view('load.add',compact('debit_user','credit_user'));
    }
    

    这个例子可能会有所帮助 .

相关问题