我只想在这种特定情况下寻求帮助。因此,在我的应用程序中,我们希望有一个全局搜索功能,您可以在其中放置 1 个字符串,然后我们必须使用 laravel eloquent 在数据库中的多种情况下搜索该字符串,但是这已经成为问题,因为我有多个 where has 然后我有withcount(我稍后会展示)。有人可以帮我解决这个问题吗?将不胜感激这是代码 $result = []; $sort_order = "DESC"; $post_param = $request->json()->all(); $filters = $post_param['filters']; if($post_param['sortOrder'] > 0) { $sort_order = "ASC"; } $financing_applications = $this->financing_application->model(); $data = $financing_applications::with('financing_application_data.business_type','financing_product_approval.financing_product')->withCount('financing_application_attachments as attachment'); foreach($filters as $key => $filter){ $value = $filter['value']; if($value != ""){ switch($key){ case "start_date_range": $data = $data->where('submission_date','>=',$value); break; case "end_date_range": $data = $data->where('submission_date','<=',$value); break; case "status": $data = $data->where($key,"LIKE","%$value%"); break; case "attachment_count": $data = $data->having('attachment_count','=',$value); break; case "company_name": case "telephone": }); } } }因此,在这种情况下,我的预期结果是能够使用所有案例并将其组合到 switch 语句中的“全局”案例中。有没有人有同样的问题并有解决方案?上面的全局不起作用,因为 where 和 whereHas 应该是 AND 不是 OR...我一直在寻找解决方案,但它太复杂了,我不知道这个问题的确切关键字这是您需要的一些信息"laravel/lumen-framework": "5.3.*"更新:如果你们中的一些人误解了我的问题,我很抱歉,所以问题仅在于“全局”案例,现在与另一个案例在于“whereHas”语法来过滤关系。如果全局应该能够组合“Where”和“WhereHas”,我已经做到了,但是因为没有“orWhereHas”(据我所知),所以它将返回空,因为它被识别为“AND”语句
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消