Męczę się z wywołaniem podwójnego select'a w Zendzie.
Przykładowo chciałbym wywołać zapytanie:
SELECT `pcms_tag_weights` . * FROM ( SELECT `pcms_tag_weights`.`title` , `pcms_tag_weights`.`weight` FROM `pcms_tag_weights` ORDER BY `pcms_tag_weights`.`weight` DESC LIMIT 0 , 5 ) `pcms_tag_weights` ORDER BY `pcms_tag_weights`.`title` ASC ";
Próbowałem na wiele sposób, ale nie wychodzi mi nic tylko błędy. Przykładowo próbowałem w ten sposób:
<?php class Application_Model_TagWeights extends Zend_Db_Table_Abstract { protected $_name = 'pcms_tag_weights'; public function getTagWeights(){ $sql = "SELECT `pcms_tag_weights` . * FROM ( SELECT `pcms_tag_weights`.`title` , `pcms_tag_weights`.`weight` FROM `pcms_tag_weights` ORDER BY `pcms_tag_weights`.`weight` DESC LIMIT 0 , 5 ) `pcms_tag_weights` ORDER BY `pcms_tag_weights`.`title` ASC "; $rows = $this->query($sql); ...
Strona zwróciła błąd:
Fatal error: Call to undefined method Application_Model_TagWeights::query() in C:\ProjectMy\application\models\TagWeights.php on line 18
Gdzie linijka 18 to:
$rows = $this->query($sql);
Czy wina stoi tutaj po Zend_Db_Table_Abstract ? Czy muszę użyć tutaj innej klasy? Przy użyciu Zend_DB_Adapter_Abstract z kolei wyświetla mi się błąd:
Fatal error: Class Application_Model_TagWeights contains 14 abstract methods and must therefore be declared abstract or implement the remaining methods (Zend_Db_Adapter_Abstract::listTables, Zend_Db_Adapter_Abstract::describeTable, Zend_Db_Adapter_Abstract::_connect, ...) in C:\ProjectMy\application\models\TagWeights.php on line 34
Z góry dziękuję za pomoc.
Pozdrawiam