我想從我的索引頁面傳遞一個對象到一個函數,我試圖在服務器+域之間進行區分,我可以通過獲取類名稱在索引頁上執行此操作,但變量傳遞給我的功能僅僅是ID,所以我不能看到,如果對象是一個服務器或域,從刀片到控制器laravel變量
如果我試圖做到這一點將整個對象作爲變量($發票):
{!! Form::open(array('class' => 'form-inline', 'method' => 'POST', 'action' => array('[email protected]', domains.'/'.$invoice))) !!}
控制器
public function index() {
$expiry = date('Y-m-d', strtotime('+3 months'));
$servers = Server::where('expiry_date', '<', $expiry)->orderBy('expiry_date', 'asc')->get();
$domains = Domain::where('expiry_date', '<', $expiry)->orderBy('expiry_date', 'asc')->get();
$invoices = $domains->merge($servers);
return view('invoices.index', compact('servers'))->with(compact('domains'))->with(compact('invoices'));
}
形式
<tbody>
@foreach($invoices as $invoice)
<?php $reflect = new \ReflectionClass($invoice); ?>
{!! Form::open(array('class' => 'form-inline', 'method' => 'POST', 'action' => array('[email protected]', $invoice))) !!}
<tr>
@if ($reflect->getShortName() == 'Domain')
<td><a href="{{ route('domains.show', $invoice->id) }}">{{ $invoice->id }}</a></td>
@endif
@if ($reflect->getShortName() == 'Server')
<td><a href="{{ route('servers.show', $invoice->id) }}">{{ $invoice->id }}</a></td>
@endif
<td>{{ $invoice->name }}</td>
<td>{{ $invoice->expiry_date }}</td>
<td>{{ $reflect->getShortName() }}</td>
<td>{{ $invoice->ClientName }}</td>
<td>
@if ($reflect->getShortName() == 'Domain')
{!! link_to_route('domains.edit', 'Edit', array($invoice->id), array('class' => 'btn btn-info')) !!}
@endif
@if ($reflect->getShortName() == 'Server')
{!! link_to_route('servers.edit', 'Edit', array($invoice->id), array('class' => 'btn btn-info')) !!}
@endif
{!! Form::submit('Bill', array('class' => 'btn btn-danger')) !!} </td>
</tr>
{!! Form::close() !!}
@endforeach
</tbody>
控制器
public function bill($invoice) {
$invoice = Domain::whereId($invoice)->first();
$bill = new BilltoKashflow();
$bill->bill($invoice);
}
請編輯您的問題,使其更難以理解。 –
@GinoPane什麼沒有意義,所以我可以改變它 – dev7
你是什麼意思與「區分$域」和'$服務器「? – barfoos