я пытаюсь найти диапазон дат с помощью FOSElasticaBundle
$query = new MatchAll();
$now = date('Y-m-d');
$rangeLower = new Filtered(
$query,
new Range('visibleFrom', array(
'gte' => $now
))
);
$rangeUpper = new Filtered(
$query,
new Range('visibleTo', array(
'lte' => $now
))
);
$query = new \Elastica\Query($rangeUpper);
$boolFilter = new \Elastica\Filter\Bool();
$boolFilter->addMust(
new \Elastica\Filter\Terms('place_id', array(
$place_id
))
);
$query->setFilter($boolFilter);
//$finder = $this->container->get('fos_elastica.finder.place.event');
$res = $this->finder->find($query,10);
но это не работает
print_r($query->getQuery());
Elastica\Query\Filtered Object
(
[_params:protected] => Array
(
[query] => Elastica\Query\MatchAll Object
(
[_params:protected] => stdClass Object
(
)
[_rawParams:protected] => Array
(
)
)
[filter] => Elastica\Filter\Range Object
(
[_fields:protected] => Array
(
[visibleTo] => Array
(
[lte] => 2016-01-05
)
)
[_params:protected] => Array
(
[visibleTo] => Array
(
[lte] => 2016-01-05
)
)
[_rawParams:protected] => Array
(
)
)
)
[_rawParams:protected] => Array
(
)
)
мне нужен объект поиска с visibleFrom > $now и visibleTo ‹ $now и place_id = $place_id
вот конфиг маппинга
event:
mappings:
id:
type : integer
place_id:
type : integer
visibleFrom:
type: date
visibleTo:
type: date
dateStart:
type: date
dateEnd:
type: date
persistence:
driver: orm
model: Place\CalendarBundle\Entity\Event
finder: ~
provider: ~
listener: ~