2016-03-31 7 views
1

Мне нужно передать переменные с индексной страницы на функцию, но сообщение пустое, когда отмечено, что я делаю неправильно? есть ли лучший способ достичь этого?Laravel form пустое сообщение

индексная страница

 {!! 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() !!} 

контроллер счета

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

ответ

1

Вы проходите $domain->id, так что ваш метод должен выглядеть следующим образом, чтобы сделать его работу:

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

Если вы хотите передать $domain объект, попробуйте отправить $domain, вместо $domain->id и использовать этот метод:

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

благодарит вторую часть вашего ответа является то, что мне нужно – dev7

1

Там нет никаких форм входов в вашем примере кода, если нет формы входа, то нет данных будет передан обратно вашему контроллеру.

Я предполагаю, что вам нужно сделать, заменить все ваши таблицы переменных с формой входами следующим образом:

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

Или

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