Verandert query zodat ie meerdere resultaten kan tonen en altijd werkt
Het probleem lag in de query die werd gebruikt: SELECT files.path FROM files WHERE files.id =(SELECT tags.id FROM tags WHERE tags.name = @parameter)
zoekt het bestand waar de id
van het bestand hetzelfde is als van de opgegeven tags, maar we weten weinig over de id
s van bestanden en tags, want die kunnen (als de database veel veranderd wordt) vaak veranderen.
Om dit te fixen heb ik het opgesplitst in twee queries, één om de id
van de tag waarop wordt gezocht te vinden, en één die de id
van deze tag gebruikt om de bestanden met deze tag uit de tagmap te halen (en hun path
te tonen).
Query 1: SELECT tags.id FROM tags WHERE tags.name = @PARAMETER
Query 2: SELECT files.path FROM entries JOIN files ON entries.file_id = files.id WHERE entries.id IN (SELECT tagmap.entry_id FROM tagmap WHERE tagmap.tag_id = @parameter)
Het is waarschijnlijk beter om een query te maken die de id van de tag zelf uit de database trekt en daarna gelijk gebruikt in de zoekopdracht, maar daar moeten we later dan nog naar kijken.