小编Fir*_*nis的帖子

Golang 插入 time.Now 到数据库中被转移到 UTC

我试图在数据库中插入一个 time.Now() 字段,但不断发生的是时间向前移动到 UTC。我理解这个想法是在呈现给用户时始终转换为本地时间。问题是我继承了这个系统,目前还很容易改变。

有小费吗?我看到您可以在 DSN 中设置 loc,但它没有解释将其更改为什么,也没有解释其实际效果,因此我很感激那里的信息。

编辑:一些信息,它是 MySQL DB,使用 go-mysql 1.1 和 go 1.6.3。正在将数据插入到 DATETIME 字段中。

插入时数据不正确。GORM Debug 显示一次,MySQL 查询记录器显示它向前移动。

我发现问题在于 go-mysql 驱动程序自动将时间转换为 UTC,这可以使用 DSN 中的 loc 参数进行更改。然而,这也改变了时间的返回方式。

要解决此问题,请将 loc=Local 添加到您的 DSN。

go go-gorm

7
推荐指数
2
解决办法
3534
查看次数

Laravel 资源集合中的过滤器属性

在新的 Laravel Resource 类中,您可以根据自己的喜好删除属性。

如果要返回很多项,可以使用该函数

Resource::collection()
Run Code Online (Sandbox Code Playgroud)

但这并不能让您在一处添加元数据。输入一个集合,太好了,这是一个很好的格式的许多项目,能够添加元数据。但是,您不能做的是过滤您必须像使用资源一样隐藏属性的集合。我能看到的唯一方法是

foreach ($this->collection as $item) {
        if ($notAdmin) {
            $temp = array_except($item->toArray(), ['secret']);
        }
        $temp['links'] = ['self' => route('restaurant.show', [$item])];
        $data[] = $temp;
    }
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?这似乎是资源集合的一个被忽视的巨大能力

php laravel laravel-5

3
推荐指数
1
解决办法
4448
查看次数

标签 统计

go ×1

go-gorm ×1

laravel ×1

laravel-5 ×1

php ×1