Netsuite - 使用 OR

问题描述 投票:0回答:1

我正在努力从 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 条件?提前致谢

php web-services netsuite
1个回答
0
投票

要在搜索中添加多个 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
变量,方法是将它们附加到数组中。

© www.soinside.com 2019 - 2024. All rights reserved.