Automattic\WooCommerce\Admin\API\Reports
DataStore::get_object_where_filter()
Get WHERE filter by object ids subquery.
Метод класса: DataStore{}
Хуков нет.
Возвращает
Строку
.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->get_object_where_filter( $select_table, $select_field, $filter_table, $filter_field, $compare, $id_list );
- $select_table(строка) (обязательный)
- Select table name.
- $select_field(строка) (обязательный)
- Select table object ID field name.
- $filter_table(строка) (обязательный)
- Lookup table name.
- $filter_field(строка) (обязательный)
- Lookup table object ID field name.
- $compare(строка) (обязательный)
- Comparison string (IN|NOT IN).
- $id_list(строка) (обязательный)
- Comma separated ID list.
Код DataStore::get_object_where_filter() DataStore::get object where filter WC 8.7.0
protected function get_object_where_filter( $select_table, $select_field, $filter_table, $filter_field, $compare, $id_list ) { global $wpdb; if ( empty( $id_list ) ) { return ''; } $lookup_name = isset( $wpdb->$filter_table ) ? $wpdb->$filter_table : $wpdb->prefix . $filter_table; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared return " {$select_table}.{$select_field} {$compare} ( SELECT DISTINCT {$filter_table}.{$select_field} FROM {$filter_table} WHERE {$filter_table}.{$filter_field} IN ({$id_list}) )"; // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared }