首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用连接,Max + groupBy orderBy查询生成器Laravel

使用连接,Max + groupBy orderBy查询生成器Laravel
EN

Stack Overflow用户
提问于 2018-05-14 04:51:32
回答 1查看 224关注 0票数 2

我试图从mysql翻译这个查询

代码语言:javascript
复制
SELECT usuario_cia.idusuario_cia,usuario_cia.nombre,usuario_cia.fkcompania,
            mobil_gps.idmobil_gps,  mobil_gps.fkmobil,MAX(mobil_gps.fechahora), mobil_gps.bateria 
    FROM usuario_cia 
    INNER JOIN mobil_gps ON mobil_gps.fkusuario= usuario_cia.idusuario_cia
    WHERE usuario_cia.fkcompania=24  
    GROUP BY idusuario_cia 
    ORDER BY mobil_gps.fechahora DESC;

对于Query的Laravel模型中的一个函数,我有一个极大的问题,现在我有了以下内容:

代码语言:javascript
复制
$datos=$query->join('mobil_gps','mobil_gps.fkusuario','usuario_cia.idusuario_cia')

    ->select( 'usuario_cia.idusuario_cia','usuario_cia.nombre','usuario_cia.fkcompania',
        \DB::raw('mobil_gps.idmobil_gps'),\DB::raw('mobil_gps.fechahora'), \DB::raw('mobil_gps.fkmobil'),\DB::raw('mobil_gps.bateria'))

    ->where('usuario_cia.fkcompania', $id_compania)
    //->max(\DB::raw('mobil_gps.fechahora'))
    ->groupBy('usuario_cia.idusuario_cia')
    ->orderBy(\DB::raw('mobil_gps.fechahora'), 'desc')

    ->get()->toArray();

但如果我不知道每一次崩溃的最大部分。

你能给我什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-14 11:46:43

您必须在MAX()中使用select()

代码语言:javascript
复制
->select(..., \DB::raw('MAX(mobil_gps.fechahora)'), ...)

这也是查询中唯一需要DB::raw()的地方。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50323285

复制
相关文章

相似问题

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