silverstripe-framework/tests/php/ORM/Search/SearchContextTest/Order.php
2022-06-30 15:55:56 +12:00

53 lines
1.5 KiB
PHP

<?php
namespace SilverStripe\ORM\Tests\Search\SearchContextTest;
use SilverStripe\Dev\TestOnly;
use SilverStripe\Forms\TextField;
use SilverStripe\ORM\DataObject;
class Order extends DataObject implements TestOnly
{
private static $table_name = 'SearchContextTest_Order';
private static $db = [
'Name' => 'Varchar',
];
private static $has_one = [
'Customer' => Customer::class,
'ShippingAddress' => Address::class,
];
private static $searchable_fields = [
'CustomFirstName' => [
'title' => 'First Name',
'field' => TextField::class,
'match_any' => [
// Searching with the "First Name" field will show Orders matching either Name, Customer.FirstName, or ShippingAddress.FirstName
'Name',
'Customer.FirstName',
'ShippingAddress.FirstName',
],
],
'PartialMatchField' => [
'field' => TextField::class,
'filter' => 'PartialMatchFilter',
'match_any' => [
'Name',
'Customer.FirstName',
'ShippingAddress.FirstName',
],
],
'ExactMatchField' => [
'field' => TextField::class,
'filter' => 'ExactMatchFilter',
'match_any' => [
'Name',
'Customer.FirstName',
'ShippingAddress.FirstName',
],
],
];
}