Automattic\WooCommerce\Internal\CostOfGoodsSold

CostOfGoodsSoldController::generate_lookup_cogs_columns()publicWC 1.0

Handler for the "add COGS value column to the product meta lookup table" admin tool.

Method of the class: CostOfGoodsSoldController{}

No Hooks.

Return

null. Nothing (null).

Usage

$CostOfGoodsSoldController = new CostOfGoodsSoldController();
$CostOfGoodsSoldController->generate_lookup_cogs_columns();

CostOfGoodsSoldController::generate_lookup_cogs_columns() code WC 9.8.1

public function generate_lookup_cogs_columns() {
	global $wpdb;

	if ( $this->feature_is_enabled() && ! $this->product_meta_lookup_table_cogs_value_columns_exist() ) {
		$wpdb->query( "ALTER TABLE {$wpdb->prefix}wc_product_meta_lookup ADD COLUMN cogs_total_value DECIMAL(19,4)" );
		$wpdb->query(
			"UPDATE {$wpdb->prefix}wc_product_meta_lookup AS lookup
    			JOIN {$wpdb->prefix}postmeta AS pm ON lookup.product_id = pm.post_id
    			SET lookup.cogs_total_value = CAST(pm.meta_value AS DECIMAL(19, 4))
    			WHERE pm.meta_key = '_cogs_total_value';"
		);
	}
}