/** * @return \Google_Service_Datastore_Filter * @throws MissingFieldsException */ public function build() { $compositeFilter = new \Google_Service_Datastore_CompositeFilter(); $missing = []; if (empty($this->filters)) { $missing[] = '$filter'; } if (empty($this->operator)) { $missing[] = '$operator'; } if (!empty($missing)) { throw new MissingFieldsException(self::class, $missing); } $compositeFilter->setFilters($this->filters); $compositeFilter->setOperator($this->operator); $filter = new \Google_Service_Datastore_Filter(); $filter->setCompositeFilter($compositeFilter); return $filter; }
/** * Create a composite 'and' filter. * @param $filters Array of filters */ protected static function createCompositeFilter($filters) { $composite_filter = new Google_Service_Datastore_CompositeFilter(); $composite_filter->setOperator('and'); $composite_filter->setFilters($filters); $filter = new Google_Service_Datastore_Filter(); $filter->setCompositeFilter($composite_filter); return $filter; }