微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

laravel 当前时间戳与碳迁移

如何解决laravel 当前时间戳与碳迁移

我想将 created_at 显示为这样的时间戳:

created_at : 1625501162

所以这是我在迁移中的 created_at 列:

$table->string('created_at')->Carbon::Now()->timestamp;

现在我希望在创建新记录时自动创建此字段并记录当前时间。所以当我把这条线改成这样时:

$table->string('created_at')->useCurrent(Carbon::Now()->timestamp);

给我这个错误

Method call is provided 1 parameters,but the method signature uses 0 parameters

那么我该如何解决这个问题?

对于时间戳 created_at 并自动存储,您有什么其他建议?

解决方法

您可以在迁移中使用 timestamp() 代替字符串。

$table->timestamp('created_at')->useCurrent();

您也可以在模型内部使用强制转换,以便在接收模型时始终获得预期的格式。

class Something extends Model {
    protected $cast = [
        'created_at' => 'timestamp'
    ];
}
,

如果您希望您的列成为时间戳,您应该使用 timestamp() 而不是 string()useCurrent() 不带参数。改变

$table->string('created_at')->useCurrent(Carbon::now()->timestamp);

$table->timestamp('created_at')->useCurrent();

https://laravel.com/docs/8.x/migrations#column-method-timestamp

https://laravel.com/docs/8.x/migrations#column-modifiers

编辑:始终获取时间戳而不是您可以使用的日期

protected $casts = ['created_at' => 'timestamp'];

在您的模型中。

,

更简单的方法是configure the date format的模型

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Flight extends Model
{
    /**
     * The storage format of the model's date columns.
     *
     * @var string
     */
    protected $dateFormat = 'U';
}

无需在迁移中放置默认值。每次created_at、updated_at和deleted_at(如果你使用软删除)被更新/填充时,它将采用unix时间戳格式

迁移应该是一个整数

$table->integer('created_at')->nullable(); //you can omit this nullable
$table->integer('updated_at')->nullable(); //you can omit this nullable

// if you use softDelete trait
$table->integer('deleted_at')->nullable();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?