在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_编号。