Automattic\WooCommerce\Admin\API\Reports
DataStore::add_time_period_sql_params()
Fills WHERE clause of SQL request with date-related constraints.
Метод класса: DataStore{}
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->add_time_period_sql_params( $query_args, $table_name );
- $query_args(массив) (обязательный)
- Parameters supplied by the user.
- $table_name(строка) (обязательный)
- Name of the db table relevant for the date constraint.
Код DataStore::add_time_period_sql_params() DataStore::add time period sql params WC 9.7.1
protected function add_time_period_sql_params( $query_args, $table_name ) { $this->clear_sql_clause( array( 'from', 'where_time', 'where' ) ); if ( isset( $this->subquery ) ) { $this->subquery->clear_sql_clause( 'where_time' ); } if ( isset( $query_args['before'] ) && '' !== $query_args['before'] ) { if ( is_a( $query_args['before'], 'WC_DateTime' ) ) { $datetime_str = $query_args['before']->date( TimeInterval::$sql_datetime_format ); } else { $datetime_str = $query_args['before']->format( TimeInterval::$sql_datetime_format ); } if ( isset( $this->subquery ) ) { $this->subquery->add_sql_clause( 'where_time', "AND {$table_name}.`{$this->date_column_name}` <= '$datetime_str'" ); } else { $this->add_sql_clause( 'where_time', "AND {$table_name}.`{$this->date_column_name}` <= '$datetime_str'" ); } } if ( isset( $query_args['after'] ) && '' !== $query_args['after'] ) { if ( is_a( $query_args['after'], 'WC_DateTime' ) ) { $datetime_str = $query_args['after']->date( TimeInterval::$sql_datetime_format ); } else { $datetime_str = $query_args['after']->format( TimeInterval::$sql_datetime_format ); } if ( isset( $this->subquery ) ) { $this->subquery->add_sql_clause( 'where_time', "AND {$table_name}.`{$this->date_column_name}` >= '$datetime_str'" ); } else { $this->add_sql_clause( 'where_time', "AND {$table_name}.`{$this->date_column_name}` >= '$datetime_str'" ); } } }