I realised I didn't go far enough with my experimentation, here is a finalised query which produces the results I wanted. Here's the result for anyone else with a similar question.
SELECT Entity.*,
CASE WHEN UsersSavedEntity.user_id = '$user_id'
THEN 1
ELSE 0
END AS favourite
FROM Entity
LEFT JOIN (SELECT *
FROM SavedEntity WHERE SavedEntity.user_id = '$user_id')
AS UsersSavedEntity
ON Entity.id = UsersSavedEntity.entity_id