1

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で、ここに私が作成した 2 つのモデルがあります。/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/>';
    }
?>

しかし、うまくいかないようです。この問題をデバッグする方法はわかりませんが、些細なことのようです。これでどこが間違っていなかったのかを理解してくれる人はいますか?

4

1 に答える 1

0
  1. id列をプライマリにしましたか?
  2. ファイル名は大文字で始める必要があります。
  3. ログ (コントロール パネル > 統計 > ログ ブラウザ) でエラーを確認します。
于 2012-08-19T20:00:47.563 に答える