首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel中使用聚合器的功能

在laravel中使用聚合器的功能
EN

Stack Overflow用户
提问于 2015-09-17 21:57:00
回答 1查看 234关注 0票数 0

我想在laravel中运行一个sql查询,这将是msql服务器中的最后一个查询。

代码语言:javascript
复制
select MAX([formulas].[id]), 
MAX([formulas].[numero]), 
MAX([formulas].[nombre]), 
MAX([formulas].[idSeccionFormula]), 
MAX([nombreProducto]), 
MAX([formulas_equivalencias].[equivalencia]), 
MAX([productos].[coste]), 
[formulas_detalle].[id] 
from [formulas] inner join [formulas_detalle] on 
[formulas].[id] =[formulas_detalle].[idFormula] inner join
[formulas_equivalencias] on [formulas].[id] = [formulas_equivalencias].[idFormula] 
inner join 
[productos] on [formulas_detalle].[idProducto] =[productos].[id] 
where [idSeccionFormula] = 1 
group by [formulas_detalle].[id]

我在Laravel有这个:

代码语言:javascript
复制
$formulas = new Formula();
$formulas = $formulas
->select('MAX([formulas.id])','MAX(formulas.numero)','MAX(formulas.nombre)','MAX(formulas.idSeccionFormula)', 'MAX(productos.nombreProducto)', 'MAX(formulas_equivalencias.equivalencia)', 'MAX(productos.coste)', 
                            'formulas_detalle.id')
                    ->join('formulas_detalle', 'formulas.id', '= ', 'formulas_detalle.idFormula')
                    ->join('formulas_equivalencias', 'formulas.id', '= ', 'formulas_equivalencias.idFormula')
                    ->join('productos', 'formulas_detalle.idProducto', '= ', 'productos.id');

但我收到了一个拉拉维尔错误:

无法绑定多部分标识符"MAX(formulas.id)“。

我读过如何在laravel中使用聚合器,但在本例中我不能使用它们,我尝试使用DB::raw(),但没有使用。

我希望有人能事先知道答案,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-09-18 03:54:03

代码语言:javascript
复制
$forumulas = $formulas->join('formulas_detalle', 'formulas.id', '= ', 'formulas_detalle.idFormula')
                      ->join('formulas_equivalencias', 'formulas.id', '= ', 'formulas_equivalencias.idFormula')
                      ->join('productos', 'formulas_detalle.idProducto', '= ', 'productos.id')
                      ->select([
                                 DB::raw('Max(formulas.id) as id'),
                                 DB::raw('Max(formulas.numero) as numero'),
                                 DB::raw('Max(formulas.nombre) as nombre'),
                                 DB::raw('Max(formulas.idSeccionFormula) as idSeccionFormula'),
                                 DB::raw('Max(productos.nombreProducto) as nombreProducto'),
                                 DB::raw('Max(formulas_equivalencias.equivalencia) as equivalencia'),
                                 DB::raw('Max(productos.coste) as coste')
                               ])
                      ->get()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32640597

复制
相关文章

相似问题

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