Laravel模型项设置碳项,但返回字符串

Laravel模型项设置碳项,但返回字符串,laravel,datetime,types,php-carbon,Laravel,Datetime,Types,Php Carbon,我在数据库架构中添加了日期时间: $table->dateTime('send_at')->nullable(); 我已将该属性设置为播种机中的碳实例: $invoice->send_at=Carbon::now(); 当我尝试获取控制器内属性的类型时,它返回一个字符串: dd(gettype($data['invoices'][0]->send_at)); 发生了什么事?我如何确定它是一个Carbon对象而不是字符串?在您的模型上,您需要定义$dates属性来自动为列创建Carbon实例

我在数据库架构中添加了日期时间:

$table->dateTime('send_at')->nullable();
我已将该属性设置为播种机中的碳实例:

$invoice->send_at=Carbon::now();
当我尝试获取控制器内属性的类型时,它返回一个字符串:

dd(gettype($data['invoices'][0]->send_at));

发生了什么事?我如何确定它是一个Carbon对象而不是字符串?

在您的模型上,您需要定义
$dates
属性来自动为列创建Carbon实例:

protected $dates = ['send_at'];
自拉威尔8号以来:

protected $casts = [
    'send_at' => 'datetime',
];

你是我的英雄!谢谢还有一个问题:为什么created_at和updated_at属性不需要这样做?
created_at
updated_at
也是一个碳实例,默认情况下在Laravel上设置。所以我们不需要手动定义它。