Having the controller access the database via a repository is a good thing.
Your 'members_model' seems superfluous. The repository should be the one to access the database. No need for another layer.
// In your controller
$members = $this->memberRepository->finadAll();
foreach $members as $member) ...
$memberId = 42;
$member = $this->memberRepository->find($memberId);
You might be confusing your members_model with the domain model. The domain model (if you have one) would consist of the $member entity with no database specific code.
If you have not already, you might take a look at Doctrine 2.