Jac*_*ack 5 laravel eloquent laravel-4
如何(d-m-Y H:i)使用all()方法从数据库返回时间戳转换为日期的所有行?
它不是created_at或updated_at列,它的自定义属性,birthday如果你愿意,可以调用它.
created_at正在首先解析时间戳列.该ü简直是时间戳格式.你可以返回自己的格式.对于其他格式,请参阅日期文档.
编辑:如我的评论所述,getDateFormat()是两种方式(插入,选择).你最好的选择是在模型中使用格式.例:
public function getMyBirthdayAttribute()
{
return $this->my_birthday->format('d.m.Y');
}
Run Code Online (Sandbox Code Playgroud)
使用$model->my_birthday调用属性.
// controller
$posts = Post::all();
// within sometemplate.blade.php
@foreach($posts as $post)
my formatted date: {{ $post->my_birthday }}
@endforeach
Run Code Online (Sandbox Code Playgroud)
使用Laravel IMHO管理日期的更好方法是使用getDates构建到Laravel中的访问器.
您需要做的就是在模型上设置一个方法.
public function getDates()
{
return [
'my_birthday',
'created_at',
'updated_at',
];
}
Run Code Online (Sandbox Code Playgroud)
这将返回一个Carbon对象.碳在操纵日期方面非常棒.
这是Laravel默认为created_at和updated_at所做的事情.
然后你可以做以下事情:
$my_birthday->diffForHumans() // 2 Days ago
$my_birthday->format('d.m.Y') // 20.02.1979
Run Code Online (Sandbox Code Playgroud)
这里有很多帮手.查看Carbon文档:https://github.com/briannesbitt/Carbon
绝对值得学习.初学者可能不容易理解.但是,我建议你看一看,然后绕过它.它会改变你的生活 - 日期可能是一种痛苦!
在这种情况下,您需要转换 中的日期query,如果mysql用作数据库,那么您可以使用如下原始查询:
// Assumed my_birthday is like 1255033470
$raw = DB::raw("date_format(from_unixtime(my_birthday),'%b %d, %Y %l:%i %p') as dob");
$result = Model::get(array('id', 'username', $raw));
Run Code Online (Sandbox Code Playgroud)
您可以将其写在一行中:
$result = Model::get(array('id', 'username', DB::raw("...")));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22257 次 |
| 最近记录: |