Serve aiuto con una query: ricerca per username invece di user_id

Per favore, aiutami a modificare la ricerca. Devo cercare per username invece che per user_id.

Questa è la mia query:

-- [params]
-- string :query = white_check_mark
-- integer :user
-- date :start_date
-- date :end_date

SELECT created_at, topic_id, p.id as post_id FROM posts p
LEFT JOIN post_search_data psd ON psd.post_id = p.id
WHERE psd.search_data @@ TO_TSQUERY(:query)
AND user_id = :user
AND p.created_at BETWEEN :start_date::date
AND :end_date::date

Spero ti sia utile.

-- [params]
-- string :query = white_check_mark
-- string :user
-- date :start_date
-- date :end_date

SELECT 
    p.created_at, 
    p.topic_id, 
    p.id as post_id 
FROM posts p
LEFT JOIN users u ON (p.user_id = u.id)
LEFT JOIN post_search_data psd ON psd.post_id = p.id
WHERE psd.search_data @@ TO_TSQUERY(:query)
      AND LOWER(username) LIKE '%'||LOWER(:user)||'%'
      AND p.created_at BETWEEN :start_date::date
      AND :end_date::date

Sì, va bene. Grazie per il tuo tempo!