首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >格式化日期结果的查询

格式化日期结果的查询
EN

Stack Overflow用户
提问于 2017-04-15 12:51:23
回答 2查看 50关注 0票数 0

我尝试用查询的结果显示excel文件。直到我尝试用以下代码以另一种格式显示日期字段之前,一切都很顺利:

代码语言:javascript
运行
复制
>  $licencies->map(function($licencie) {
> 
>                 $licencie['dt_naissance'] = \Carbon\Carbon::createFromFormat('Y-m-d',
> $licencie['dt_naissance'])->format('d/m/y');

我现在得到一个空的excel文件。如果删除代码,就会得到带有数据的文件。

如何仅解析查询中的"dt_naissance“列?

在这里,完整的代码:

代码语言:javascript
运行
复制
public function build()
{
    $licencies = Licencies::where('lb_assurance' , '=' , 'Lafont')
        ->leftJoin('activite_licencie' , 'activite_licencie.id' , '=' , 'licencies.activite_licencie_id')
        ->leftJoin('saisons' , 'saisons.id' , '=' , 'licencies.saison_id')
        ->leftJoin('pays' , 'pays.id' , '=' , 'licencies.pays_naissance_id')
        ->leftJoin('type_licence' , 'type_licence.id' , '=' , 'licencies.type_licence_id')
        ->leftJoin('structures' , 'structures.id' , '=' , 'licencies.structure_id')
        ->leftJoin('civilite' , 'civilite.id' , '=' , 'licencies.civilite_id')
        ->select('civilite.lb_civilite' , 'num_licence' , 'lb_nom' , 'lb_prenom' , 'dt_naissance' , 'pays.fr' ,'activite_licencie.lb_activite'  ,'saisons.lb_saison', 'lb_surclassement' ,  'structures.nom_structure' , 'lb_assurance' , 'cd_dept_naissance' , 'lb_adresse' , 'tel_fix_licencie' , 'tel_port_licencie' , 'adresse_email' , 'licencies.created_at')
        //->whereRaw('DATE(licencies.created_at) = CURRENT_DATE')
        ->get();

         $licencies->map(function($licencie) {

            $licencie['dt_naissance'] = \Carbon\Carbon::createFromFormat('Y-m-d', $licencie['dt_naissance'])->format('d/m/y');

        });

        $excel_file = Excel::create('DailyRecapLicencesLafont', function($excel) use ($licencies) {
        $excel->sheet('Excel', function($sheet) use ($licencies)
        {
            $sheet->fromArray($licencies);
        });
    });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-15 16:08:11

你忘了回到map里面。它应该是

代码语言:javascript
运行
复制
$licencies->map(function($licencie) {

    $licencie['dt_naissance'] = \Carbon\Carbon::createFromFormat('Y-m-d', $licencie['dt_naissance'])->format('d/m/y');

    return $licencie; //this is the part that you miss

});
票数 1
EN

Stack Overflow用户

发布于 2017-04-15 14:33:46

您可以尝试解析日期,然后将其格式化如下

代码语言:javascript
运行
复制
$licencie['dt_naissance'] = \Carbon\Carbon::parse($licencie['dt_naissance'])->format('d/m/y');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43426283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档