我正在尝试查找搜索查询是否包含结果,如果不包含,则返回null,此处是代码,但即使数据库中不存在搜索,它也会显示以前的搜索结果
if (!empty($searchInput)) {
$complexityLevel->join('organizations', 'complexity_levels.organization_id', '=', 'organizations.id');
$complexityLevel->where("complexity_levels.name", "like", "%$searchInput%")
->orWhere("complexity_levels.experience_range_start", "like", "%$searchInput%")
->orWhere("complexity_levels.experience_range_end", "like", "%$searchInput%")
->orWhere("organizations.name", "like", "%$searchInput%")
$complexityLevel->select('complexity_levels.*', 'organizations.name');
}
if (!empty($complexityLevel)) {
return $complexityLevel->orderBy($sortBy, $sortOrder)->paginate($pageSize);
}
return null;
2条答案
按热度按时间fgw7neuy1#
在你的例子中,你要检查$complexityLevel是否不为空。但是它不会为空,因为它是一个查询,而不是你所期望的集合。要完成你想要做的事情,你需要像这样的代码:
mwngjboj2#
如果要检查$complexityLevel是否不为空,可以使用
-> isNotEmpty()
在您的查询案例中
也可以在空时检查
以下是一些参考资料:https://laravel.com/api/8.x/Illuminate/Contracts/Pagination/Paginator.html