【问题标题】:Object of class Illuminate\Support\Facades\Date could not be converted to string [duplicate]类 Illuminate\Support\Facades\Date 的对象无法转换为字符串 [重复]
【发布时间】:2021-08-17 06:18:56
【问题描述】:

在将我的项目从 laravel 7 升级到 laravel 8 后,我遇到了这个错误,有人可以向我解释一下,因为项目;s 迁移运行良好,但现在我无法运行 artisan migrate

     $table->date('booked_from')->default(new Date());
        $table->date('booked_to')->default(new Date());

【问题讨论】:

  • 错误信息似乎很清楚? default() 需要一个字符串,大概类似于 2021-05-29 01:02:03 或其他什么,但 new Date() 是一个 Illuminate\Support\Facades\Date 对象。如果您只想给它今天的日期,您可以简单地使用date('Y-m-d') 或其他格式?
  • 我想选择插入时的当前日期,就像 mysql 的当前时间戳一样工作

标签: laravel-8 laravel-7 laravel-migrations


【解决方案1】:

作为问题 Don't Panic provides in his comment above 中提供的众多解决方案之一的替代方案,您还可以利用 Laravel 附带的 Carbon DateTime 包。

$table->date('booked_from'->default(Carbon::now());
$table->date('booked_to')->default(Carbon::now());

【讨论】:

    猜你喜欢
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 2016-09-12
    • 2015-11-19
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多