laravel - Laravel Eloquent 中的 HAVING() 未知列
问题描述
我有这个AS count
使用雄辩的自我声明字段的工作代码
$delimeter = ' ';
$keywords = explode($delimeter, $keyword_search);
$base_query = \DB::table('yeast_entire_search')->selectRaw('
id,
part_number,
part_name,
Round ((Char_length(Concat(
LOWER(part_number),
LOWER(part_name)
))
-
Char_length(REPLACE ( Concat(
LOWER(part_number),
LOWER(part_name)
), LOWER("'.$keyword_search.'"), ""))) / Char_length(LOWER("'.$keyword_search.'"))) AS count
');
foreach($keywords as $keyword){
$base_query->where(function($query) use ($keyword){
$query->where('part_number', 'like', '%' . $keyword . '%')
->orWhere('part_name', 'like', '%' . $keyword . '%');
});
}
$data = $base_query->orderBy('count','DESC')->paginate(20);
return $data;
但是当我尝试havingRaw()
像这样添加时
$data = $base_query->orderBy('count','DESC')->havingRaw(' count > 0 ')->paginate(20);
return $data;
但我收到这样的错误
解决方案
尝试更改->havingRaw('count > 0')
为->having('count', '>' , 0)
推荐阅读
- java - 无法在实体删除时捕获 ConstraintViolationException
- javascript - 如何使用 websocket 将 javascript 页面连接到 php 页面?
- c++ - 在cpp文件中定义一个类变量成员
- php - 在 Reactjs 应用程序中选中时使用复选框进行过滤
- html - 除非在页面顶部,否则导航链接将不起作用
- testing - 客户端事件自动测试的正确方法
- kubernetes-ingress - AKS 天蓝色/应用程序网关运行状况注释不会更新应用程序网关中的运行状况探测
- excel - 如何从多个表中检查和计算 excal 中的值
- javascript - 在 Reactjs 中检查整个组件中的用户不活动状态
- visual-studio-code - 设置优先级(用户、工作区、文件夹)