在Laravel中有()个未知列

在Laravel中有()个未知列,laravel,eloquent,Laravel,Eloquent,我有一个工作代码,作为计数使用雄辩的自我声明字段 $delimeter = ' '; $keywords = explode($delimeter, $keyword_search); $base_query = \DB::table('yeast_entire_search')->selectRaw(' id, part_number, part_name, Round ((Char_length(Concat( LOW

我有一个工作代码,
作为计数
使用雄辩的自我声明字段

$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;
但是我遇到了这样的错误

$data = $base_query->orderBy('count','DESC')->havingRaw(' count > 0 ')->paginate(20);
return $data;

键入错误,而不是->哈文格勒('count>0')尝试->哈文格勒('count>0)

尝试将
->哈文格勒('count>0')
更改为
->having('count','>,0)
尝试使用
having

$data = $base_query->orderBy('count','DESC')->having('count', '>' , 0)->paginate(20);
return $data;

尝试在原始查询中使用自定义选择:

$data = $base_query->orderBy('count','DESC')
->havingRaw('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.'"))) > 0 ')->paginate(20);

尝试此操作,但出现以下
语法错误或访问冲突:1064您的SQL语法有错误。我在尝试您的代码'SQLSTATE[42S22]:Column not found:1054未知列'count'in'having子句'时遇到了这种错误。我得到了未知列的part_编号。