laravel - Laravel Nova - distinct() 的问题
问题描述
我正在使用 Laravel Nova 来生成指标,在这种情况下特别是趋势。这是我的代码:
$builder = order::query()->select('cook_id')->distinct();
return $this->countByDays($request, $builder)->showLatestValue();
然而,这将返回 6 - 但它应该是 4。
是的,有 6 行,但其中 4 行具有相同的“cook_id”,因此不同的调用应该消除其中的 2 行。
重申一下,这是 Laravel Nova 的“趋势”指标。
谢谢
解决方案
我知道这是一篇旧帖子,但对于任何有同样问题的人,您可以使用原始表达式来允许不同的查询。
public function calculate(NovaRequest $request)
{
return $this->aggregate($request,
order::class,
self::BY_DAYS,
'count',
DB::raw('distinct cook_id'),
);
}
通过使用 DB::raw,nova 将按原样接受列,而不是尝试包装它。
推荐阅读
- git - 如何使用 github PR 工作流更好地针对分布式系统进行端到端测试?
- google-apps-script - 数据验证应该基于以前的选项。返回未定义
- java - 当试图点击一个被禁用的元素时,包含这行代码的方法正在退出
- mysql - Mysql - 列出按类别分组的重复值
- python - 基于列名的带有图例的 T-SNE 散点图
- html - 任何人都可以帮助解决全屏背景问题
- php - 如何从一个对象中读取属性,该对象是另一个对象的属性?
- php - 如何使用 MySQL+PHP+nginx 并行化请求?
- 3d - 在哪里可以找到有关运行 Cesium 的最低要求的信息?
- node.js - 通过 IntelliJ 运行操作执行 testcafe