【问题标题】:Trying to get property of non-object (using Carbon in Laravel 5.3)试图获取非对象的属性(在 Laravel 5.3 中使用 Carbon)
【发布时间】:2016-11-02 16:04:36
【问题描述】:

我得到了这个查询$paid_at = $invoice->payments->last()->paid_at,它工作得很好,返回一个日期为“2013-04-04”的字符串ddvar_dump,print_r 确认)。但是当我把它喂给 Carbon $paid = new Carbon($paid_at);我突然得到这个错误:

ErrorException (E_NOTICE)

试图获取非对象的属性

$paid = new Carbon("2013-04-04"); 也可以正常工作...与 \DateTime 相同。

我错过了什么吗?

【问题讨论】:

    标签: php laravel datetime laravel-5.3 php-carbon


    【解决方案1】:

    在您的payment 类中添加以下属性-

    protected $dates = [
        'paid_at',
    ];
    

    它会自动将paid_at 列转换为Carbon 的实例。

    然后你就可以运行了-

    $invoice->payments->last()->paid_at; // returns instances of Carbon
    

    Docs

    【讨论】:

    • 感谢您的建议,但我确实需要深入了解这个问题。为什么会这样?
    猜你喜欢
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多