Automattic\WooCommerce\Admin\API\Reports
Segmenter::reformat_totals_segments
Update row-level db result for segments in 'totals' section to the format used for output.
Method of the class: Segmenter{}
No Hooks.
Returns
Array. Reformatted array.
Usage
// protected - for code of main (parent) or child class $result = $this->reformat_totals_segments( $segments_db_result, $segment_dimension );
- $segments_db_result(array) (required)
- Results from the SQL db query for segmenting.
- $segment_dimension(string) (required)
- Name of column used for grouping the result.
Segmenter::reformat_totals_segments() Segmenter::reformat totals segments code WC 10.8.1
protected function reformat_totals_segments( $segments_db_result, $segment_dimension ) {
$segment_result = array();
if ( strpos( $segment_dimension, '.' ) ) {
$segment_dimension = substr( strstr( $segment_dimension, '.' ), 1 );
}
$segment_labels = $this->get_segment_labels();
foreach ( $segments_db_result as $segment_data ) {
$segment_id = $segment_data[ $segment_dimension ];
if ( ! isset( $segment_labels[ $segment_id ] ) ) {
continue;
}
unset( $segment_data[ $segment_dimension ] );
$segment_datum = array(
'segment_id' => $segment_id,
'segment_label' => $segment_labels[ $segment_id ],
'subtotals' => $segment_data,
);
$segment_result[ $segment_id ] = $segment_datum;
}
return $segment_result;
}