PHP NetSuite Advanced Search 如何添加按商品名称筛选的查询条件
实现代码
你可以直接在原有实例化ItemSearchAdvanced的逻辑后新增筛选条件配置,完整代码如下:
$service = new NetSuiteService($config); $service->setSearchPreferences(true, $page_size, true); $savedSearchId = '###'; $searchAdvanced = new ItemSearchAdvanced(); setFields($searchAdvanced, array('savedSearchScriptId'=>$savedSearchId)); // 以下是新增的商品名称过滤逻辑 // 1. 实例化商品搜索基础配置类 $itemSearchBasic = new ItemSearchBasic(); // 2. 配置商品名称匹配规则,这里以「包含指定关键词」为例 $itemNameFilter = new SearchStringField(); $itemNameFilter->operator = 'contains'; // 匹配规则:包含关键词 $itemNameFilter->searchValue = '你要搜索的商品名称关键词'; // 替换为实际要过滤的内容 $itemSearchBasic->itemId = $itemNameFilter; // itemId对应NetSuite里的商品名称字段,要按显示名过滤就改成displayName // 3. 将过滤条件挂载到高级搜索对象 $itemSearch = new ItemSearch(); $itemSearch->basic = $itemSearchBasic; $searchAdvanced->criteria = $itemSearch; // 新增逻辑结束 $request = new SearchRequest(); $request->searchRecord = $searchAdvanced; $results = $service->search($request);
说明
- 匹配规则可根据需求调整
operator参数值:常用值有exact(完全匹配)、startsWith(前缀匹配)、doesNotContain(不包含关键词) - 新增的筛选条件会和原有保存搜索的筛选条件叠加生效,二者为AND逻辑关系
内容的提问来源于stack exchange,提问作者user1836559
相关产品推荐
相关产品推荐

