Automattic\WooCommerce\Internal\Admin\Reports

HposLegacyOrderReportQueryBuilder::resolve_meta_select │ private │ WC 1.0

Resolve a type=meta SELECT.

Method of the class: HposLegacyOrderReportQueryBuilder{}

No Hooks.

Returns

array{0: string, 1: array<string,string>}. SELECT fragment and JOINs.

Usage

// private - for code of main (parent) class only
$result = $this->resolve_meta_select( $raw_key, $key, $join_type );
$raw_key(string) (required)
Meta key.
$key(string) (required)
Sanitized version of the meta key.
$join_type(string) (required)
Join type.

HposLegacyOrderReportQueryBuilder::resolve_meta_select() code WC 11.1.2

private function resolve_meta_select( $raw_key, $key, $join_type ) {
	$schema = $this->get_report_schema();
	if ( isset( $schema['order_column'][ $raw_key ] ) ) {
		return array( $schema['order_column'][ $raw_key ], array() );
	}
	if ( isset( $schema['op_data_column'][ $raw_key ] ) ) {
		return array( $schema['op_data_column'][ $raw_key ], $this->build_op_data_join() );
	}
	if ( isset( $schema['address_column'][ $raw_key ] ) ) {
		list( $address_type, $column ) = $schema['address_column'][ $raw_key ];
		return array( "address_{$address_type}.{$column}", $this->build_address_join( $address_type ) );
	}

	return array(
		"meta_{$key}.meta_value",
		$this->build_meta_join( $key, $raw_key, $join_type ),
	);
}