当前位置: 首页 > 知识库问答 >
问题:

如何显示unix时间戳在刀片视图从created_at或updated_at字段在数据库laravel?

曹自怡
2023-03-14

我想从laravel 5.8中的数据库字段(created_at和updated_at)获取UNIX时间戳,或者将created_at或updated_at date转换为UNIX时间戳格式,我该怎么做?

这是我在控制器中的代码

public function viewArchives(){
$data = Archive::select(‘created_at’)->get();
return view(‘view.archives’, compact(‘data’));
}

在view/archives.blade.php中:

<?php echo $data;?>

结果是:

{“created_at”:”2019-03-17 19:10:30″}

但我希望结果是这样的:

{“created_at”:”1552849830″}

怎样才能得到这个结果呢?

共有3个答案

许彭祖
2023-03-14

使用雄辩的模型可以实际定义每列的$casts

class SomeModel extends Model
{

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'created_at' => 'datetime'
    ];
}

如果您想要纪元时间戳,只需删除此强制转换(可能存在)。

当时间戳不是来自任何雄辩的Model时,仍然可以使用Blade渲染它:

@php
$dt = new DateTime();
echo $dt->setTimestamp( $timestamp )->format("Y-m-d H:m:s");
@endphp

或者反过来说:

@php
echo strtotime( $isodate );
@endphp
洪旻
2023-03-14

添加strotime()视图/archives.blade.php:

<?php echo strtotime( $data );?>
曹振
2023-03-14
$string = '2019-03-17 19:10:30';

$obj = new stdClass;
$obj->created_at = $string;

$collection = [$obj];

foreach ($collection as $k => &$v) {
    $collection[$k]->created_at = strtotime($v->created_at);
}

//var_dump($collection);

$string = '2019-03-17 19:10:30';

$obj = new stdClass;
$obj->created_at = $string;

$collection = [$obj];

array_walk($collection, function (&$item, $key) {
    $item->created_at = strtotime($item->created_at);
});

//var_dump($collection);

或者在你的情况下

    public function viewArchives()
    {
        $data = Archive::select('created_at')->get();
        foreach ($data as $k => &$v) {
            $v->created_at = strtotime($v->created_at);
        }
        return view('view.archives', compact('data'));
    }

    public function viewArchives()
    {
        $data = Archive::select('created_at')->get();
        array_walk($data, function (&$item, $key) {
            $item->created_at = strtotime($item->created_at);
        });
        return view('view.archives', compact('data'));
    }

这是使用array\u walk()函数的好地方。

 类似资料:
  • 在我的模板中,我有以下内容: 在这篇文章中,我想突出显示字符串中的所有单词 所以我想我创建了一个新的刀片指令: 错误:缺少参数2 发现指令不包含2个参数。我尝试了所有我能找到的解决办法,但没有一个奏效。它们总是以普通字符串的形式返回参数,甚至不传递实际值。 我尝试添加一个助手函数,如下所述:https://stackoverflow.com/a/32430258/928666.不起作用: 错误:未

  • 我对firestore(和编程)比较陌生,无法在网上找到解决问题的方法。 如果还有什么可能有帮助的,请告诉我。谢谢! 编辑以显示下一次尝试:

  • 问题内容: 在我的数据库中,我有两个表,一个是政治(politics_id,policy,policy_type_id),另一个是tipo_politics(politics_type_id,policy_type)。 这是餐桌 政治 这是表 tipo_politics 我需要的是在视图中显示以政治类型为标题的政治表格的记录,但是标题不会重复。这样的事情。 我希望通过group by进行查询,但只

  • 问题内容: 目前这是我的看法 这是输出 我想展示这样的东西 问题答案: 很简单 首先将解码后的变量发送到视图(请参见Laravel Views): 然后只需使用常见的刀片构造(请参见Laravel模板制作):

  • 问题内容: 在模型中,我有一个这样的字段:mydate = models.DateField() 现在,一个javascript图形函数需要unix时间戳,例如“ 1196550000000”,如何返回mydate输入的unix时间戳。 问题答案: 我知道不久前接受了另一个答案,但是这个问题在Google的搜索结果中显得很高,因此,我将添加另一个答案。 如果你在模板级别工作,则可以在过滤器中使用参

  • 我已经看过stackoverflow了,甚至看过一些建议的问题,但似乎没有一个答案,如何在C#中获得unix时间戳?