在 Eloquent 个结果中获取格式化日期
Get formatted date at Eloquent results
考虑到模型是
class Cota extends Model
{
protected $fillable = ['status','user_id','produto_id','numero','arquivo','updated_at'];
protected $dates = [
'updated_at',
];
//protected $dateFormat = 'd/m/Y';
}
并考虑查询:
$cotas = DB::table('cotas')->join('produtos','produtos.id','=','cotas.produto_id')->join('users','users.id','=','cotas.user_id')->select('cotas.id','produtos.titulo as produto','cotas.numero','cotas.arquivo','users.name','cotas.status','cotas.updated_at','produtos.valor')->get();
当我只得到一个实例时,例如:
$cota = Cota::find(6517);
我能做到:
$cota->updated_at->format('d/m/Y');
但在上面的查询中,结果始终使用 Mysql 使用的传统日期格式。
如何获得 ('d/m/Y') 格式的结果?我必须使用原始查询吗?那是唯一的方法吗?
谢谢!
您始终可以在 Select 语句中使用 DB::raw。
$cotas = DB::table('cotas')
->join('produtos','produtos.id','=','cotas.produto_id')
->join('users','users.id','=','cotas.user_id')
->select([
'cotas.id',
'produtos.titulo as produto',
'cotas.numero',
'cotas.arquivo',
'users.name',
'cotas.status',
DB::raw('DATE_FORMAT(cotas.updated_at, "%d/%m/%Y"') as updated_at,
'produtos.valor'
])
->get();
// Or Else You can always loop over your collection when displaying data / using that data.
您可以像这样使用日期转换
protected $casts = [
'updated_at' => 'datetime:d/m/Y',
];
这仅在模型序列化为数组或根据docsJSON时有用。
考虑到模型是
class Cota extends Model
{
protected $fillable = ['status','user_id','produto_id','numero','arquivo','updated_at'];
protected $dates = [
'updated_at',
];
//protected $dateFormat = 'd/m/Y';
}
并考虑查询:
$cotas = DB::table('cotas')->join('produtos','produtos.id','=','cotas.produto_id')->join('users','users.id','=','cotas.user_id')->select('cotas.id','produtos.titulo as produto','cotas.numero','cotas.arquivo','users.name','cotas.status','cotas.updated_at','produtos.valor')->get();
当我只得到一个实例时,例如:
$cota = Cota::find(6517);
我能做到:
$cota->updated_at->format('d/m/Y');
但在上面的查询中,结果始终使用 Mysql 使用的传统日期格式。 如何获得 ('d/m/Y') 格式的结果?我必须使用原始查询吗?那是唯一的方法吗? 谢谢!
您始终可以在 Select 语句中使用 DB::raw。
$cotas = DB::table('cotas')
->join('produtos','produtos.id','=','cotas.produto_id')
->join('users','users.id','=','cotas.user_id')
->select([
'cotas.id',
'produtos.titulo as produto',
'cotas.numero',
'cotas.arquivo',
'users.name',
'cotas.status',
DB::raw('DATE_FORMAT(cotas.updated_at, "%d/%m/%Y"') as updated_at,
'produtos.valor'
])
->get();
// Or Else You can always loop over your collection when displaying data / using that data.
您可以像这样使用日期转换
protected $casts = [
'updated_at' => 'datetime:d/m/Y',
];
这仅在模型序列化为数组或根据docsJSON时有用。