我试图在laravel 5.2中使用德语中的Carbon created_at
来显示diffForHumans()
属性。
created_at
存储在数据库中:2017-03-29 17:31:52
模型
protected $dates = ['created_at', 'updated_at'];
public static function getCreatedAtAttribute($value)
{
Carbon::setLocale('de');
return Carbon::parse($value, 'Europe/Berlin')->diffForHumans();
}
dd($value);
返回"2017-03-29 17:31:52"
。
视图
@foreach($posts as $post)
<small>{{ $post->getCreatedAtAttribute($post->created_at) }}</small>
@endforeach
错误
DateTime :: __ construct():无法解析时间字符串(vor 3 Tagen)at 位置0(v):在数据库中找不到时区
我会非常感谢任何帮助!
答案 0 :(得分:4)
对于德语翻译,我在AppServiceProvider中使用了这个自定义:
html, body{
height: 100%;
}
.wrapper {
height: 200px;
}
.left {
background-color: grey;
float: left;
height: 100%;
}
.right {
height: auto;
float: left;
height: 100%;
}
.top {
background-color: lightblue;
height: 166px;
}
.bottom {
background-color: lightgreen;
height: calc(100% - 166px);
}
使用此设置,数据会显示: <div class="wrapper">
<div class="left">
left
</div>
<div class="right">
<div class="top">
top right<br/> top right<br/> top right<br/> top right<br/> top right<br/> top right<br/>top right<br/>top right<br/>top right<br/>
</div>
<div class="bottom">
bottom right
</div>
</div>
<div>
而不是class AppServiceProvider extends ServiceProvider
{
public function boot()
{
// Localization Carbon
\Carbon\Carbon::setLocale(config('app.locale'));
}
}
。