Automattic\WooCommerce\Internal\DataStores\Orders

OrdersTableSearchQuery::get_where_for_customersprivateWC 1.0

Helper function to generate the WHERE clause for customers search. Uses FTS when available.

Method of the class: OrdersTableSearchQuery{}

No Hooks.

Returns

String|null. WHERE clause for customers search.

Usage

// private - for code of main (parent) class only
$result = $this->get_where_for_customers();

OrdersTableSearchQuery::get_where_for_customers() code WC 10.4.3

private function get_where_for_customers() {
	global $wpdb;
	$order_table   = $this->query->get_table_name( 'orders' );
	$address_table = $this->query->get_table_name( 'addresses' );

	$db_util = wc_get_container()->get( DatabaseUtil::class );

	$fts_enabled = get_option( CustomOrdersTableController::HPOS_FTS_INDEX_OPTION ) === 'yes' && get_option( CustomOrdersTableController::HPOS_FTS_ADDRESS_INDEX_CREATED_OPTION ) === 'yes';

	if ( $fts_enabled ) {
		return self::CUSTOMERS_JOIN_ALIAS . '.order_id IS NOT NULL';
	}

	$meta_sub_query = $this->generate_where_for_meta_table();
	return "`$order_table`.id IN ( $meta_sub_query ) ";
}