Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

madala's avatar

Multi term search query through the table

Here is my code but not getting results exactly

 $keyword = isset($_REQUEST['search']['value']) ? $_REQUEST['search']['value'] : '';
        $keywords = explode(' ', $keyword);
        $query = $this->query()->where(function ($query) use ($keywords) {
            foreach ($keywords as $searchString) {
                $query->WhereRaw("LOWER(BFY) LIKE LOWER(?)",["%{$searchString}%"]);
                $query->orWhere('PROGRAM_CD', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('PROGRAM_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('PROG_TYPE', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('PROG_TRN_SB734', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('VENDOR_CD', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('VENDOR_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('AJCC_CD', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('AJCC_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('SUBAWARD_NO', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('PO_NO', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('PO_STATUS', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('BR_CURRENT_STATUS', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('BR_CURRENT_STATUS_DT', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('BDGT_ITEM_CAT_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('BDGT_ITEM_SUBCAT_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('BDGT_LINE_ITEM_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('BDGT_SUBLINE_ITEM_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('BDGT_DETAIL_ITEM_NM', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('DOBJ_CD', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('FUNDING_ALLOC_AMT', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('AGCY_ALLOC_AMT', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('AGCY_UNALLOC_AMT', 'LIKE', '%' . $searchString . '%');
                $query->orWhere('AGCY_ALOC_BY_LINEITEM_AMT', 'LIKE', '%' . $searchString . '%');
            }
        });

please can any one help me with this

0 likes
3 replies

Please or to participate in this conversation.