Laravel Cashier Invoice Дата выпуска - PullRequest
0 голосов
/ 15 апреля 2019

Я использую 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

Похоже, что дата выставления счета равна нулю. Есть ли другие настройки, которым я должен следовать? Загрузка счета-фактуры также приведет к ошибке из-за даты выставления счета.

EDIT: Я отредактировал класс 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.

...