@bouncepaw ORMs are in my mental category of "almost always the wrong solution". I'm wary of sticking raw SQL into application code as a matter of course, but I think a query builder is the sweet spot. I've not yet seen a use case that convinced me an ORM was the right choice.
(That said, for personal projects I mostly get away with a very thin data layer that just maps function calls to static SQL strings w/ parameters.)