Moja praktyka jest taka, że w kontrolerze wywołuję model który zwraca mi tablicę z danymi lub FALSE. Te dalej są obrabiane w kontrolerze lub przekazywane do widoku. Równocześnie staram się nie kożystać np. z:
$db = Zend_Db_Table::getDefaultAdapter();
Robi to straszny bałagan w kodzie, ale nie wywołuje kolejnego obiektu. Postąpisz jak uznasz.