0

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

tereško
  • 58,060
  • 25
  • 98
  • 150
Rodrigo Souza
  • 7,162
  • 12
  • 41
  • 72

1 Answers1

1

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

Vika
  • 3,275
  • 18
  • 16