Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
SearchCriteriaBuilder Class Reference
Inheritance diagram for SearchCriteriaBuilder:
AbstractSimpleObjectBuilder SimpleBuilderInterface

Public Member Functions

 __construct (ObjectFactory $objectFactory, FilterGroupBuilder $filterGroupBuilder, FilterBuilder $filterBuilder)
 
 create ()
 
 addFilters (array $filter)
 
 addFilter ($field, $value, $conditionType='eq')
 
 setFilterGroups (array $filterGroups)
 
 addSortOrder ($sortOrder)
 
 setSortOrders (array $sortOrders)
 
 setPageSize ($pageSize)
 
 setCurrentPage ($currentPage)
 
- Public Member Functions inherited from AbstractSimpleObjectBuilder
 __construct (ObjectFactory $objectFactory)
 
 create ()
 
 getData ()
 

Protected Attributes

 $_filterGroupBuilder
 
 $filterBuilder
 
- Protected Attributes inherited from AbstractSimpleObjectBuilder
 $data
 
 $objectFactory
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractSimpleObjectBuilder
 _set ($key, $value)
 
 _getDataObjectType ()
 

Detailed Description

Builder for SearchCriteria Service Data Object

Definition at line 14 of file SearchCriteriaBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ObjectFactory  $objectFactory,
FilterGroupBuilder  $filterGroupBuilder,
FilterBuilder  $filterBuilder 
)
Parameters
ObjectFactory$objectFactory
FilterGroupBuilder$filterGroupBuilder
FilterBuilder$filterBuilder

Definition at line 31 of file SearchCriteriaBuilder.php.

35  {
36  parent::__construct(
38  );
39  $this->_filterGroupBuilder = $filterGroupBuilder;
40  $this->filterBuilder = $filterBuilder;
41  }

Member Function Documentation

◆ addFilter()

addFilter (   $field,
  $value,
  $conditionType = 'eq' 
)
Parameters
string$field
mixed$value
string$conditionType
Returns
$this

Definition at line 75 of file SearchCriteriaBuilder.php.

76  {
77  $this->addFilters([
78  $this->filterBuilder->setField($field)
79  ->setValue($value)
80  ->setConditionType($conditionType)
81  ->create()
82  ]);
83  return $this;
84  }
$value
Definition: gender.phtml:16

◆ addFilters()

addFilters ( array  $filter)

Create a filter group based on the filter array provided and add to the filter groups

Parameters

Definition at line 63 of file SearchCriteriaBuilder.php.

64  {
65  $this->data[SearchCriteria::FILTER_GROUPS][] = $this->_filterGroupBuilder->setFilters($filter)->create();
66  return $this;
67  }

◆ addSortOrder()

addSortOrder (   $sortOrder)

Add sort order

Parameters
SortOrder$sortOrder
Returns
$this

Definition at line 103 of file SearchCriteriaBuilder.php.

104  {
105  if (!isset($this->data[SearchCriteria::SORT_ORDERS])) {
106  $this->data[SearchCriteria::SORT_ORDERS] = [];
107  }
108  $this->data[SearchCriteria::SORT_ORDERS][] = $sortOrder;
109  return $this;
110  }

◆ create()

create ( )

Builds the SearchCriteria Data Object

Returns
SearchCriteria

Implements SimpleBuilderInterface.

Definition at line 48 of file SearchCriteriaBuilder.php.

49  {
50  //Initialize with empty array if not set
51  if (empty($this->data[SearchCriteria::FILTER_GROUPS])) {
52  $this->_set(SearchCriteria::FILTER_GROUPS, []);
53  }
54  return parent::create();
55  }

◆ setCurrentPage()

setCurrentPage (   $currentPage)

Set current page

Parameters
int$currentPage
Returns
$this

Definition at line 140 of file SearchCriteriaBuilder.php.

◆ setFilterGroups()

setFilterGroups ( array  $filterGroups)

Set filter groups

Parameters

Definition at line 92 of file SearchCriteriaBuilder.php.

◆ setPageSize()

setPageSize (   $pageSize)

Set page size

Parameters
int$pageSize
Returns
$this

Definition at line 129 of file SearchCriteriaBuilder.php.

◆ setSortOrders()

setSortOrders ( array  $sortOrders)

Set sort orders

Parameters
SortOrder[]$sortOrders
Returns
$this

Definition at line 118 of file SearchCriteriaBuilder.php.

Field Documentation

◆ $_filterGroupBuilder

$_filterGroupBuilder
protected

Definition at line 19 of file SearchCriteriaBuilder.php.

◆ $filterBuilder

$filterBuilder
protected

Definition at line 24 of file SearchCriteriaBuilder.php.


The documentation for this class was generated from the following file: