【问题标题】:Distinct most recent data from database Grouped by Column数据库中不同的最新数据按列分组
【发布时间】:2018-04-18 16:53:36
【问题描述】:

我将数据存储在我的数据库中。存储的数据是这样的

   vin                    date_traitement
    VF15R060H54847102   2018-04-05 00:00:00
    UU1HSDC9553072004   2017-08-07 15:01:00
    UU1HSDC9553072004   2017-08-07 14:51:00
    VF15R060H54847102   2017-08-07 14:57:00

在我的控制器中,我试图检索不同的 vin,但获取每个最新插入的版本以提取到 excel。目前我正在尝试

 return Bddrenault::groupBy('vin')->orderBy('date_traitement', 'desc')
             ->get()
             ->map(function ($item, $key) {
             return (array) $item;
             })
             ->all();

问题是这将返回空的 excel 文件,我试图得到这个

  vin                    date_traitement
    VF15R060H54847102   2018-04-05 00:00:00
    UU1HSDC9553072004   2017-08-07 15:01:00

我怎样才能做到这一点?

谢谢

【问题讨论】:

标签: php mysql laravel-5


【解决方案1】:

使用这个:

$join = Bddrenault::select('vin')
    ->selectRaw('MAX(`date_traitement`) `date_traitement`')
    ->groupBy('vin');
$sql = '(' . $join->toSql() . ') as `voiture`';
Bddrenault::select('id', 'bd.vin', 'bd.date_traitement')
    ->from('bddrenaults as bd')
    ->join(DB::raw($sql), function($join) {
        $join->on('bd.vin', 'voiture.vin')
            ->on('bd.date_traitement', 'voiture.date_traitement');
    })->get();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 2021-10-27
    • 2015-04-14
    相关资源
    最近更新 更多