Я попытался создать модуль в SE4 и следовал руководству (Как создать модель и получить данные из MySQL для отображения в SE4), но не могу вывести вывод моей базы данных на печать на мой взгляд. Вот код:
Дамп базы данных, я использовал префикс engine4_, так как все остальные мои таблицы называются так
-- phpMyAdmin SQL Dump
-- version 2.11.11.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Aug 14, 2012 at 11:32 AM
-- Server version: 5.5.23
-- PHP Version: 5.3.14
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `xyzeljubko`
--
-- --------------------------------------------------------
--
-- Table structure for table `engine4_zki_pitanja`
--
CREATE TABLE IF NOT EXISTS `engine4_zki_pitanja` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`test` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `engine4_zki_pitanja`
--
INSERT INTO `engine4_zki_pitanja` (`id`, `test`) VALUES
(1, 'Stringcina');
Мой модуль называется zki
, и вот две модели, которые я создал, /Zki/Models/pitanje.php
<?php
class Zki_Model_Pitanje extends Core_Model_Item_Abstract
{
protected $_owner_type = 'user';
}
?>
и модель Zki/Models/DbTable/pitanja.php
(множественное число)
<?php
class Zki_Model_DbTable_Pitanja extends Engine_Db_Table
{
protected $_rowClass = 'Zki_Model_Pitanje';
}
?>
что касается контроллера, вот Zki/Controllers/pitanjeController.php
<?php
class Zki_PitanjeController extends Core_Controller_Action_Standard
{
public function indexAction()
{
// default action
}
public function viewtestAction()
{
// uzmi tabelu
// getDbTable(TABLENAME, MODULENAME);
$table = Engine_Api::_()->getDbTable('pitanja', 'zki');
// neki filtering, select i to
// docs: http://framework.zend.com/manual/en/zend.db.select.html
$select = $table->select(); // ->where("user_id = $id", 1)->order('creation_date');
// dohvati podatke
$result = $table->fetchAll($select);
$this->view->pitanja = $result;
}
}
?>
и, наконец, мое мнение Zki/Views/scripts/pitanje/viewtest.tpl
<?php
foreach($this->pitanja as $pitanje) {
echo 'Id pitanja: ' . $pitanje->id . ' and test string is ' . $pitanje->test . '. Endline. <br/>';
}
?>
Но, похоже, не работает. Я не уверен, как отладить эту проблему, но кажется тривиальной. Может ли кто-нибудь помочь мне понять, где я не ошибся в этом?