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 11.0.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
}