2016-02-13 78 views
1

使用Laravel 5.2,我生成發票清單與下面的代碼工作正常:Laravel發票錯誤

$owner = User::where("accountId",Auth::user() 
->accountId) 
->where("owner",1) 
->first(); 
$invoices = $owner->invoices(); 

然而,當我嘗試下載發票

return $this->owner->downloadInvoice($id, [ 
    'vendor' => 'XXXXXXX', 
    'product' => 'XXXXXXX', 
]); 

我得到以下錯誤

FatalErrorException在0aba430056a58a8038d61445deab8578線133:呼叫 未定義方法Larave升\出納\ InvoiceItem :: startDateString()

錯誤似乎是從收到模板此塊的到來,而是一個廣泛的谷歌搜索」會議結束後,我似乎無法找到任何答案。

  <!-- Display The Subscriptions --> 
      @foreach ($invoice->subscriptions() as $subscription) 
       <tr> 
        <td>Subscription ({{ $subscription->quantity }})</td> 
        <td>{{ $subscription->startDateString() }} - {{ $subscription->endDateString() }}</td> 
        <td>{{ $subscription->dollars() }}</td> 
       </tr> 
      @endforeach 

任何想法?

+0

是否該模型包含一個稱爲'startDateString'一個'method'? – Ohgodwhy

+0

不是我已明確定義,但文檔中沒有關於需要設置這些方法的信息。我將創建自己的startDateString/endDateString方法並檢查結果 – Dan

+0

更新:我嘗試添加startDateString方法,錯誤仍然存​​在 – Dan

回答

2

我相信發票模板來自舊版本的Laravel。我已經更新模板這樣:

 @foreach ($invoice->subscriptions() as $subscription) 
      <tr> 
       <td>Subscription ({{ $subscription->quantity }})</td> 
       <td>{{ $subscription->startDate() }} - {{ $subscription->endDate() }}</td> 
       <td>{{ $subscription->total() }}</td> 
      </tr> 
     @endforeach 

而且它似乎是工作