为了账号安全,请及时绑定邮箱和手机立即绑定

Lumen / Laravel 问题中的多个 Where 有查询

Lumen / Laravel 问题中的多个 Where 有查询

PHP
人到中年有点甜 2022-12-23 15:37:59
我只想在这种特定情况下寻求帮助。因此,在我的应用程序中,我们希望有一个全局搜索功能,您可以在其中放置 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 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

我找到了解决这个问题的方法,我必须用 has 替换 whereHas 语法,在这种情况下,它可以具有我需要的 OR 逻辑。



查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号