web-dev-qa-db-fra.com

Comment passer plusieurs arguments avec url (routage) dans laravel 5.1

LARAVEL 5.1

Je veux éditer ma table avec ID et TktID.

Je veux passer ces deux paramètres pour éditer la méthode de mon TestController.

Mon lien:

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

Mon route.php 

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

méthode d'édition du contrôleur:

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

Comment puis-je passer ici deux arguments dans route.php au contrôleur.

5
Rajendra

Tu oublies la fin du crochet 

Vous avez une erreur dans votre fichier routes.php:

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

Devrait être:

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

Remarquez la barre oblique après edit et id .

Et dans la vue, cela devrait être l’un des suivants:

<a href="{{ url('sig/edit/ ' . $value->id . '/' . $value->ticketid .')}}" title="Edit signature">

Ou

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

J'espère que cela vous aide. À votre santé.

12
Saiyan Prince
 <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);
            });
     })
});

Collez cette ligne de code en tant que première ligne dans la fonction de votre contrôleur ...

$inputs = Input::all();

et obtient des valeurs d'entrée comme

echo    $ticketid=$inputs['ticketid'];
 echo "<br/>";
 echo     $id=$inputs['id'];
4
PRANAV

J'ai trouvé cette façon de garder votre URL de la même manière et d'accéder à plusieurs paramètres

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

Route

Route::get('sig/edit', 'TicketsController@edit');

Accéder aux valeurs de paramètre dans le contrôleur

Manette

public function edit(){
$id = Input::get('id');
$ticketId = Input::get('ticketid');
}

Note: import entrée dans le contrôleur

use Illuminate\Support\Facades\Input;
1
Akhil Mohandas

Dans mon cas, je passe deux paramètres comme ceci: 

ROUTES

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

Dans 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'));
}

Cet exemple pourrait être utile.

0
Sark