在 Zend Framework 中加载带有模块的模型时出现问题

发布于 2024-09-17 23:01:39 字数 1773 浏览 15 评论 0原文

我有一个类似于 this 的文件夹结构,我正在尝试加载 News<我的控制器内的 /code> 模型:

<?php
/**
 * Login
 */
class Admin_NewsController extends Zend_Controller_Action {

    public function preDispatch() {
        $layout = Zend_Layout::getMvcInstance();
        $layout->setLayout('admin');
    }
    public function init() {
        $this->db = new Application_Admin_Model_DbTable_News();
    }

    public function indexAction() {

    }

    public function addAction() {
        //$this->getHelper('viewRenderer')->setNoRender();
        // Calls the Request object
        $request = $this->getRequest();

        if ($request->isPost()) {
            // Retrieves form data
            $data = array(
                "new_title" => $request->getParam('txtTitle'),
                "new_text" => htmlentities($request->getParam('txtNews')),
                "new_image" => $request->getParam('upName'),
                "new_published" => 1
            );
            // Inserts in the database
            if ($this->db->addNews($data)) {
                $this->view->output = 1;
            } else {
                $this->view->output = 0;
            }
        } else {
            $this->view->output = 0;
        }

        $this->_helper->layout->disableLayout();
    }
}

和我的模型

<?php

class Application_Admin_Model_DbTable_News extends Zend_Db_Table_Abstract
{
    protected $_name = 'news';

    public function addNews($data) {
        $this->insert($data);
    }
}

尽管我收到此错误: 替代文本

I have a folder structure like this and I'm trying to load the News model inside my controller:

<?php
/**
 * Login
 */
class Admin_NewsController extends Zend_Controller_Action {

    public function preDispatch() {
        $layout = Zend_Layout::getMvcInstance();
        $layout->setLayout('admin');
    }
    public function init() {
        $this->db = new Application_Admin_Model_DbTable_News();
    }

    public function indexAction() {

    }

    public function addAction() {
        //$this->getHelper('viewRenderer')->setNoRender();
        // Calls the Request object
        $request = $this->getRequest();

        if ($request->isPost()) {
            // Retrieves form data
            $data = array(
                "new_title" => $request->getParam('txtTitle'),
                "new_text" => htmlentities($request->getParam('txtNews')),
                "new_image" => $request->getParam('upName'),
                "new_published" => 1
            );
            // Inserts in the database
            if ($this->db->addNews($data)) {
                $this->view->output = 1;
            } else {
                $this->view->output = 0;
            }
        } else {
            $this->view->output = 0;
        }

        $this->_helper->layout->disableLayout();
    }
}

And my model:

<?php

class Application_Admin_Model_DbTable_News extends Zend_Db_Table_Abstract
{
    protected $_name = 'news';

    public function addNews($data) {
        $this->insert($data);
    }
}

Althoug I'm getting this error:
alt text

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

星星的軌跡 2024-09-24 23:01:39

由于您的 News 类属于该模块,因此其名称应为 Admin_Model_DbTable_News,不带 Application_ 前缀。

有关模块内自动加载的更多信息,请访问 http://framework.zend.com/manual/en/zend.loader.autoloader-resource.html#zend.loader.autoloader-resource.module

Since your News class belongs to the module, its name should be Admin_Model_DbTable_News, without Application_ prefix.

See more on autoloading within modules at http://framework.zend.com/manual/en/zend.loader.autoloader-resource.html#zend.loader.autoloader-resource.module

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文