webentwicklung-frage-antwort-db.com.de

So übergeben Sie mehrere Argumente mit URL (Routing) in Laravel

LARAVEL 5.1

Ich möchte meine Tabelle mit ID und TktID bearbeiten.

Ich möchte diese beiden Parameter übergeben, um die Methode meines TestControllers zu bearbeiten.

Meine Verbindung:

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

Meine route.php 

Route::get('sig/edit{id}{ticketid}','[email protected]');

editiermethode des Controllers:

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

Wie gebe ich hier zwei Argumente in route.php an den Controller.

5
Rajendra

Sie vergessen die Endhalterung 

Sie haben einen Fehler in Ihrer Datei routes.php:

Route::get('sig/edit{id}{ticketid}', '[email protected]');

Sollte sein:

Route::get('sig/edit/{id}/{ticketid}', '[email protected]');

Beachten Sie den Schrägstrich nach edit und id .

Und in der Ansicht sollte es eines der folgenden sein:

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

Oder

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

Ich hoffe das hilft dir weiter. Prost.

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

fügen Sie diese Codezeile als erste Zeile in die Funktion Ihres Controllers ein ...

$inputs = Input::all();

und Werte der Eingabe erhalten wie

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

Route

Route::get('sig/edit{id}{ticketid}','[email protected]')->name(sig.edit);

Link

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

2
Aris Ram

im routes/web.php file - Dieser funktioniert bei mir.

Route::any('/documents/folder/{args?}', function($args){
   $args = explode('/', $args);
   return $args;
})->where('args', '(.*)');

Es sollte jetzt jedes Argument/jeden Parameter behandeln.

Hoffe, es funktioniert !

1
rust

Ich habe diesen Weg gefunden, um Ihre URL gleich zu halten und auf mehrere Parameter zuzugreifen

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

Route

Route::get('sig/edit', '[email protected]');

Rufen Sie die Parameterwerte in der Steuerung auf

Regler

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

Hinweis: Eingang in Controller importieren

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

In meinem Fall übergebe ich zwei Parameter wie folgt: 

ROUTEN

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

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

Dieses Beispiel kann hilfreich sein.

0
Sark