od wieeeelu godzin próbuję rozwiązać ten dziwaczny problem, szukam w różnych tutorialach, na różnych forach, stosuję niby rozwiązania identyczne jak tam, jak widzę, że nie działa to sam próbuję kombinować i ciągle to samo: "An error occurred. Application error." albo "Fatal error: Call to a member function select() on a non-object ..."
Chcę mieć model, do którego przez kontroler będę przesyłał zmienną wziętą z parametru w URLu, która to zmienna będzie nazwą tabeli w bazie danych. Potrafię to zrobić w ten sposób:
Bootstrap.php:
// setup database $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'production'); Zend_Registry::set('config', $config); // setup database $db = Zend_Db::factory($config->resources->db->adapter, $config->resources->db->params->toArray()); Zend_Db_Table::setDefaultAdapter($db); Zend_Registry::set('db', $db);
Funkcja w modelu:
$dbAdapter = Zend_Registry::get('db'); $stmt = $dbAdapter->query('select * from ' . $nazwaTabeli); return $stmt->fetchAll();
Ale chciałbym wykorzystać w pełni możliwości ZF i skorzystać z Zend_Db_Select. Przykładowy kod, który starałem się ujarzmić:
w modelu:
$_reg = Zend_Registry::getInstance(); $_db = $_reg->db; $select = $_db->select(); $select->from($nazwaTabeli); return $select->fetchAll();
Co ja mam zrobić/dodać/usunąć w modelu/kontrolerze/bootstrapie, żeby ta lub jeszcze prostsza wersja (bez dwóch pierwszych linijek) działała? :/ Aha, i te rozwiązania nie działają mi nawet kiedy w samym modelu na sztywno ustawię z jakiej tabeli ma brać dane. Niestety manual Zenda również mi nic nie dał..