Automattic\WooCommerce\Internal\Admin\Reports
HposLegacyOrderReportQueryBuilder::resolve_meta_select
Resolve a type=meta SELECT.
Метод класса: HposLegacyOrderReportQueryBuilder{}
Хуков нет.
Возвращает
array{0: string, 1: array<string,string>}. SELECT fragment and JOINs.
Использование
// private - только в коде основоного (родительского) класса $result = $this->resolve_meta_select( $raw_key, $key, $join_type );
- $raw_key(строка) (обязательный)
- Meta key.
- $key(строка) (обязательный)
- Sanitized version of the meta key.
- $join_type(строка) (обязательный)
- Join type.
Код HposLegacyOrderReportQueryBuilder::resolve_meta_select() HposLegacyOrderReportQueryBuilder::resolve meta select WC 11.2.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 ),
);
}