2016-03-31 18 views
1

Ich muss Variablen von der Indexseite zu einer Funktion übergeben, aber der Beitrag ist leer, wenn überprüft, was mache ich falsch? Gibt es einen besseren Weg, dies zu erreichen?Laravel Formular leeren Beitrag

Indexseite

 {!! Form::open(array('class' => 'form-inline', 'method' => 'POST', 'action' => array('[email protected]', $domain->id))) !!} 
     <tr> 
      <td><a href="{{ route('domains.show', $domain->id) }}">{{ $domain->id }}</a></td> 
      <td>{{ $domain->name }}</td> 
          <td>{{ $domain->expiry_date }}</td> 
          <td>Domain</td> 
      <td>{{ $domain->ClientName }}</td> 
      <td> {!! link_to_route('domains.edit', 'Edit', array($domain->id), array('class' => 'btn btn-info')) !!} 
       {!! Form::submit('Bill', array('class' => 'btn btn-danger')) !!} </td> 

     </tr> 

     {!! Form::close() !!} 

Rechnungs Controller

public function bill(Domain $domain) { 
    dd($domain); 
    $bill = new BilltoKashflow(); 
    $bill->bill($domain); 
} 

Antwort

1

Sie $domain->id sind vorbei, so dass Ihre Methode sollte so aussehen, damit es funktioniert:

public function bill($domainId) 
{ 
    .... 
} 

Wenn Sie $domain Objekt zu übergeben wollen, versuchen Sie $domain, statt $domain->id und verwenden diese Methode zu senden:

public function bill($domain) 
{ 
    dd($domain); 
} 
+0

dankt dem zweiten Teil Ihrer Antwort ist, was ich brauchte – dev7

1

Es gibt keine Formulareingaben in Ihrem Beispiel-Code, wenn es keine Daten keine Formulareingaben sind dann wird an Ihren Controller zurückgegeben.

Ich gehe davon aus, was Sie tun müssen, um alle Variablen Tisch Eingänge mit Form ersetzen etwa so:

<td><input type="text" name="name" value="{{ $domain->name }}"></td> 

Oder

<td>{!! Form::text('name', $domain->name) !!}</td> 
Verwandte Themen