Laravel Cashier Invoice Дата выдачи
Я использую Laravel 5.8 с Laravel Cashier. Когда я пытаюсь показать список счетов пользователя, я использовал этот код:
@foreach (Auth::user()->invoices() as $invoice)
<tr>
<td>{{ $invoice->date()->toFormattedDateString() }}</td>
<td>{{ $invoice->total() }}</td>
<td>
<a href="/user/invoice/{{ $invoice->id }}">Download</a>
</td>
</tr>
@endforeach
Тем не менее, линия $invoice->date()->toFormattedDateString()
выдает ошибку:
DateTime::__construct(): Failed to parse time string (@) at position 0 (@): Unexpected character
Похоже, что дата выставления счета не указана. Есть ли другие настройки, которым я должен следовать? Загрузка счета также приведет к ошибке из-за даты выставления счета.
РЕДАКТИРОВАТЬ: я отредактировал класс Invoice Laravel (vendor\laravel\laravel\cashier\Invoice.php), чтобы напечатать реальную дату, и оказалось, что дата счета-фактуры равна NULL.
/**
* Get a Carbon date for the invoice.
*
* @param \DateTimeZone|string $timezone
* @return \Carbon\Carbon
*/
public function date($timezone = null)
{
echo("HERE <br />");
var_dump($this->invoice->date);
exit();
$carbon = Carbon::createFromTimestampUTC($this->invoice->date);
return $timezone ? $carbon->setTimezone($timezone) : $carbon;
}
var_dump($this->invoice->date);
возвращает NULL.
0 ответов
Просто замените:
$this->invoice->date
Кому:
$this->invoice->created