Automattic\WooCommerce\Internal\DataStores\Orders
OrdersTableDataStore::is_valid_cached_order_data
Determine whether a cached order data record is complete and belongs to the requested order.
A valid entry is a plain stdClass whose id matches the cache key and which carries every column property that get_order_data_for_ids_from_db() populates from get_all_order_column_mappings_for_cache(). Rejecting truncated records forces a fresh database read instead of letting set_order_props_from_data() silently default the missing properties.
Метод класса: OrdersTableDataStore{}
Хуков нет.
Возвращает
bool. True when the record is a complete order data object for the given id.
Использование
// private - только в коде основоного (родительского) класса $result = $this->is_valid_cached_order_data( $datum, $id ): bool;
- $datum(разное) (обязательный)
- The cached value to validate.
- $id(int) (обязательный)
- The order id the entry is cached under.
Код OrdersTableDataStore::is_valid_cached_order_data() OrdersTableDataStore::is valid cached order data WC 11.1.1
private function is_valid_cached_order_data( $datum, int $id ): bool {
if ( ! $datum instanceof \stdClass || ! property_exists( $datum, 'id' ) || (int) $datum->id !== $id ) {
return false;
}
foreach ( $this->get_all_order_column_mappings_for_cache() as $table_name => $column_mappings ) {
foreach ( $column_mappings as $field => $map ) {
$field_name = $map['name'] ?? "{$table_name}_$field";
if ( ! property_exists( $datum, $field_name ) ) {
return false;
}
}
}
return true;
}