Searching
Search Fields
We support three types of search fields:
- Text fields
- Multiple value fields
- Range fields
Learn more about working with search results.
Text fields
Text Fields can be searched using 5 operators: is
, isNot
, startsWith
, endsWith
, and contains
. Each search Text Field can't exceed 255 characters. Here is an example searching for customer email on a transaction.
- PHP
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::customerEmail()->is('tom smith')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::customerEmail()->isNot('somebody else')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::customerEmail()->startsWith('tom s')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::customerEmail()->endsWith('m smith')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::customerEmail()->contains('m sm')
]);
Multiple value fields
Search fields that accept multiple values support two operators: is
and in
.
- PHP
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::status()->is(
BraintreeTransaction::GATEWAY_REJECTED
)
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::id()->is($transaction->id),
BraintreeTransactionSearch::status()->in(
[
BraintreeTransaction::GATEWAY_REJECTED,
BraintreeTransaction::SETTLED
]
)
]);
Range fields
Ranges support four operators: is
, between
, greaterThanOrEqualTo
, and lessThanOrEqualTo
.
For non-time-based filters, between
is inclusive and greaterThanOrEqualTo
and lessThanOrEqualTo
are respected as written.
For time-based filters, the lower bound will always be inclusive and the upper bound will always be exclusive, regardless of the range operator used. Additionally, one minute is automatically added to the upper bound.
Example: A search condition of "between 12/17/2015 16:00 and 12/17/2015 17:00" will include transactions created at 12/17/2015 16:00:00 and 12/17/2015 17:00:59 but will not include a transaction created at 12/17/2015 17:01:00.
- PHP
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::amount()->is('1500')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::amount()->greaterThanOrEqualTo('1700')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::amount()->lessThanOrEqualTo('1250')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::amount()->between('1100', '1600')
]);
$collection = $gateway->transaction()->search([
BraintreeTransactionSearch::createdAt()->between("12/17/2015 17:00", "12/17/2015 17:00")
]);