我需要将变量从索引页面传递给函数,但是在检查时帖子是空的,我做错了什么?有没有更好的方法来实现这一目标?
索引页
{!! Form::open(array('class' => 'form-inline', 'method' => 'POST', 'action' => array('InvoiceController@bill', $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);
}
答案 0 :(得分:1)
您正在传递$domain->id
,因此您的方法应如下所示:
public function bill($domainId)
{
....
}
如果您想传递$domain
个对象,请尝试发送$domain
,而不是$domain->id
并使用此方法:
public function bill($domain)
{
dd($domain);
}
答案 1 :(得分:1)
示例代码中没有任何表单输入,如果没有表单输入,则不会将数据传递回控制器。
我假设您需要使用表单输入替换所有表变量,如下所示:
<td><input type="text" name="name" value="{{ $domain->name }}"></td>
或者
<td>{!! Form::text('name', $domain->name) !!}</td>