names([$id]);return isset($rows[$id])?$rows[$id]+['wordpress_user'=>null]:null;} public function names(array $ids):array{ $ids=array_values(array_unique(array_filter(array_map('intval',$ids),static fn($id)=>$id>0)));if(!$ids)return []; $wpdb=$this->wpdb;$rows=$wpdb->get_results($wpdb->prepare('SELECT id,first_name,last_name FROM %i WHERE id IN ('.implode(',',array_fill(0,count($ids),'%d')).')',\ABeCe\Booking\Infrastructure\Database\Tables::name( $wpdb, 'members' ),...$ids),ARRAY_A); if($wpdb->last_error)throw new \RuntimeException('Unable to read historical booking identities.'); $result=[];foreach($rows as $row){$row['id']=(int)$row['id'];$result[$row['id']]=$row;}return $result; } public function bookingSearch(string $query,int $page,int $per_page):array{return [];} }