%PDF- %PDF-
Direktori : /var/www/knwn/wp-content/plugins/admin-columns-pro/classes/Search/ |
Current File : /var/www/knwn/wp-content/plugins/admin-columns-pro/classes/Search/Query.php |
<?php namespace ACP\Search; use AC\Registrable; use ACP\Search\Query\Bindings; use LogicException; abstract class Query implements Registrable { /** * @var Bindings[] */ protected $bindings; /** * @param Bindings[] $bindings */ public function __construct( array $bindings ) { $this->bindings = $bindings; $this->validate_bindings(); } /** * @throws LogicException */ private function validate_bindings() { foreach ( $this->bindings as $bindings ) { if ( ! $bindings instanceof Bindings ) { throw new LogicException( 'Expected Bindings object.' ); } } } /** * @return array */ protected function get_meta_query() { $meta_query = []; foreach ( $this->bindings as $binding ) { $meta_query[] = $binding->get_meta_query(); } $meta_query = array_filter( $meta_query ); if ( $meta_query ) { $meta_query['relation'] = 'AND'; } return $meta_query; } }