我正在努力从 Netsuite 获取数据。
$service = $this->getNetsuiteService();
$service->setSearchPreferences(false, $this->perPage);
$lastModified = date("Y-m-d", strtotime("-6 months"));
$SearchField = new SearchDateField();
$SearchField->operator = "after";
$SearchField->searchValue = $lastModified;
$search = new ItemSearchBasic();
$search->lastModifiedDate = $SearchField;
# I NEED TO BE ABLE TO ADD AN OTHER CRITERIA HERE LIKE:
# $search = new ItemSearchBasic();
# $search->lastQuantityAvailableChange = $SearchField;
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $service->search($request);
任何帮助我如何在搜索中执行多个 OR 条件?提前致谢
要在搜索中添加多个 OR 条件,您可以使用 Netsuite 中的 SearchOrFilter 类。下面是一个示例代码片段,展示了如何将多个 OR 条件添加到搜索中:
$service = $this->getNetsuiteService();
$service->setSearchPreferences(false, $this->perPage);
$lastModified = date("Y-m-d", strtotime("-6 months"));
$searchField1 = new SearchDateField();
$searchField1->operator = "after";
$searchField1->searchValue = $lastModified;
$searchField2 = new SearchDateField();
$searchField2->operator = "within";
$searchField2->searchValue = "thisMonth";
$searchField3 = new SearchBooleanField();
$searchField3->searchValue = true;
$searchOrFilter = new SearchOrFilter();
$searchOrFilter->searchValue = array($searchField1, $searchField2, $searchField3);
$search = new ItemSearchBasic();
$search->lastModifiedDate = $searchOrFilter;
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $service->search($request);
在此代码中,我们将三个搜索字段添加到
$searchOrFilter
变量,然后使用 $search
属性将此过滤器添加到 lastModifiedDate
变量。结果将是与三个搜索字段中的任何一个匹配的项目。
您可以将更多搜索字段添加到
$searchOrFilter
变量,方法是将它们附加到数组中。