thinkphp:数据库多条件查询

一、使用if条件限制查询条件 

$query = Db::table('wip_operation_plan')
            ->alias('d')
            ->join(['wip_jobs_all' => 'a'], 'a.wip_entity_name = d.wip_entity_name')
            ->join(['sf_item_no' => 'c'], 'a.primary_item=c.item_no')
            ->field('
                  d.*,c.item_no as item_no,c.item_name as item_name,c.units as uom,
                  d.creation_date creation_date,a.creation_date as wip_creation_date
                ')
            ->where([
                'd.wip_entity_name'  =>  ['like', '%' . $like_info . '%']
                ])
            ->where('d.begin_quantity > d.output_quantity+d.bad_quantity');
            //添加条件
            if (!empty($search_itemno)) {
                $query->where(['c.item_no'  =>  ['like', '%' . $search_itemno . '%']]);
            }
            
            if (!empty($search_itemname)) {
                $query->where(['c.item_name'  =>  ['like', '%' . $search_itemname . '%']]);
            }
            
            if (!empty($search_wip)) {
                $query->where(['d.wip_entity_name'  =>  ['like', '%' . $search_wip . '%']]);
            }
            
            if (!empty($search_opnum)) {
                $query->where(['d.operation_seq_num'  =>  ['like', '%' . $search_opnum . '%']]);
            }
        $query
            ->limit($start, $pageSize)
            ->order('a.wip_entity_name asc, d.operation_seq_num asc');
        $data['info'] = $query->select();

二、直接在数据库查询中写入三目运算

$data['total'] = Db::table('wip_operation_plan')
            ->alias('d')
            ->join(['wip_jobs_all' => 'a'], 'a.wip_entity_name = d.wip_entity_name')
            ->join(['sf_item_no' => 'c'], 'a.primary_item=c.item_no')
            ->where([
                'd.wip_entity_name'  =>  ['like', '%' . $like_info . '%']
                ])
            ->where('d.begin_quantity > d.output_quantity+d.bad_quantity')
            ->where(!empty($search_itemno) ? ['c.item_no' => ['like', '%' . $search_itemno . '%']] : [])
            ->where(!empty($search_itemname) ? ['b.item_name' => ['like', '%' . $search_itemname . '%']] : [])
            ->where(!empty($search_wip) ? ['d.wip_entity_name' => ['like', '%' . $search_wip . '%']] : [])
            ->where(!empty($search_opnum) ? ['d.operation_seq_num' => ['like', '%' . $search_opnum . '%']] : [])
            ->count();

相关推荐

  1. thinkphp:数据库条件查询

    2024-07-16 06:36:01       20 阅读
  2. 数据库查询--条件查询

    2024-07-16 06:36:01       29 阅读
  3. JPA构建条件查询

    2024-07-16 06:36:01       53 阅读
  4. elasticsearch之条件查询

    2024-07-16 06:36:01       32 阅读
  5. thinkphp:数据库复合查询-OR的使用

    2024-07-16 06:36:01       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 06:36:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 06:36:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 06:36:01       45 阅读
  4. Python语言-面向对象

    2024-07-16 06:36:01       55 阅读

热门阅读

  1. 数据库作业6

    2024-07-16 06:36:01       26 阅读
  2. HTTP——POST请求详情

    2024-07-16 06:36:01       21 阅读
  3. [计网初识2]web的3个核心标准html,url,http

    2024-07-16 06:36:01       24 阅读
  4. 微服务边界守卫:Eureka中服务隔离策略的实现

    2024-07-16 06:36:01       16 阅读
  5. 仓工具—Hive语法之宏(Macro)

    2024-07-16 06:36:01       20 阅读
  6. 016.自定义指纹chromium-随机tls指纹(ja4指纹)

    2024-07-16 06:36:01       23 阅读
  7. PHP基础语法

    2024-07-16 06:36:01       16 阅读
  8. 向量数据量milvus k8s helm 对接外部安装部署流程

    2024-07-16 06:36:01       14 阅读