Attualmente sto lavorando a un progetto in cui sono entrato diversi anni dopo la sua costruzione. Il codice è per lo più procedurale con alcuni oggetti che agiscono più come secchi di funzioni che altro. Voglio iniziare a risolverlo consolidando l'accesso al database e le chiamate API esterne nei modelli di dominio.
Ho un'idea generale, ma non so come gestire le liste dei miei dati quando ho più filtri. Avere metodi chiamati $HelpRequestMapper->getById($id)
funziona bene, ma cosa faccio quando l'utente vuole fare più filtri?
Devo avere metodi per ogni caso possibile? Cioè, $HelpRequestMapper->getByCompanyAndUserAssignedToAndQueueAndStatusAndPriorityAndSearchString($company_id, $user_id, $queue_id, $status, $priority, $search_string)
Sembra che diventerebbe ingombrante molto velocemente e non sarebbe molto meglio di quello che abbiamo ora.
Devo passare in un array / oggetto e creare una query usando qualcosa come $HelpRequestMapper->getMultiple($array_of_options)
che fa qualche query magica che costruisce roba per ottenere i dati che voglio?
Dovrei fare qualcos'altro?
Grazie