我想从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″}
怎样才能得到这个结果呢?
使用雄辩的模型
可以实际定义每列的$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
添加strotime()视图/archives.blade.php:
<?php echo strtotime( $data );?>
$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时间戳?