php - 嗨,我想在 Laravel 的 leftJoin 或 LIMIT 1 中获得 MAX 值,我该怎么做?
问题描述
$almacenes = Almacenes::with(['producto'])->
leftJoin('albaranes_lineas',function ($k) use ($request){
$k->on('almacen.id_producto','=','albaranes_lineas.id_producto');
})->where(function ($q) use ($request) {
$q->where('almacen.id_usuario', $request->usuario);
$q->where('almacen.id_local', $request->local);
$q->where('almacen.tipo', $request->tipo);
$q->whereRaw('HOUR(almacen.created_at) = ?', $request->hora);
$q->whereDate('almacen.created_at', '=', $request->fecha);
//$q->where('inventario', 1);
})->get();
如何将值限制为“1”?我想获取表“albaranes_lineas”中每一行的最后一个字段。
解决方案
$maxValue = Almacenes::with(['producto'])->
leftJoin('albaranes_lineas',function ($k) use ($request){
$k->on('almacen.id_producto','=','albaranes_lineas.id_producto');
$k->where('albaranes_lineas.id',821);
})->max('table_name.column_name');
当您使用max('column_name')
时,它会返回一个计数值。在这种情况下$maxValue
,将保存您的列的计数。这是 laravel 中可用的聚合函数。
你不能调用max()->limit()
,因为它就像调用->limit()
一个整数值并且会抛出错误:
在整数上调用成员函数 limit()
但是,如果您想获得特定条件的最大值,那么您将需要 group by 子句。
推荐阅读
- svg - Webpack QuillJS 输出 SVG 路径而不是内联它
- reactjs - 是否有任何类似于 EXPO 的应用程序,可用于在 ios 设备上运行 javascript 应用程序,而无需发布到应用商店?
- node.js - Socket.io:找不到模块:无法解析“C\:....\node_modules\engine.io\lib”中的“uws”
- r - 无法通过 get_map() 函数下载地图
- python - Pyspark:json对象中的rdd
- angular - Zendesk API + Angular:由于 CORS 无法接收数据
- microsoft-edge - Edge against Polcy 的新标签扩展
- android - android app crash with database java.(lang.IllegalArgumentException: Account cannot be null)
- javascript - 使用 2 按钮将选择更改为输入
- android - 如何在不打开活动的情况下发送数据?