but I'm having trouble getting a Select object out from my TableGateway without duplicating my query code. Is there an easy way to solve this problem?
You can get the select object inside you NewsContentsTable class like this:
$this->getSql()->select();