我试图在我的数据库中运行以下搜索查询:
User::selectRaw("*, MATCH(first_name, last_name)AGAINST(?)", [$search_string])
->whereRaw("MATCH(first_name, last_name)AGAINST(? IN BOOLEAN MODE)", [$search_string])
->limit(10)
->get();
这样可以正常工作几次(有时只有一次)然后我收到错误InvalidArgumentException: Inf and NaN cannot be JSON encoded in file
将新用户添加到数据库时会临时解决此错误,但在运行查询的某些尝试后会快速返回。我认为它与查询返回的值有关。该值有时为inf
。为什么这个查询以这种不可预测的方式运行?
答案 0 :(得分:0)
我通过用raw语句替换selectRaw语句来修复我的问题,如下所示:
User::raw("SELECT * FROM MATCH(first_name, last_name)AGAINST(?)", [$search_string])
->whereRaw("MATCH(first_name, last_name)AGAINST(? IN BOOLEAN MODE)", [$search_string])
->limit(10)
->get();