Определение сущности в модели - PullRequest
2 голосов
/ 18 октября 2011

Я пытаюсь сделать CRUD, как упомянуто в учебном пособии Jobeet (http://agiletoolkit.org/learn/tutorial/jobeet/day3). Я также добавил внутри каталога страницы generate.php код, указанный в ссылке. Когда я пытаюсь получить к нему доступ через браузер с помощью http://localhost/atk4.1.2/?page=generate Я получаю следующую ошибку,

Exception_ForUser
You should call parent::init() when you override it


Additional information: 

 - object_name: gift_project_generate

 - class: page_generate

Я также добавил страницу с именем crud.php со следующим содержимым внутри каталога страниц, содержимое которого выглядит следующим образом:

<?php
class page_crud extends Page{
    function init(){
        parent::init();
        $tabs=$this->add('Tabs');
        $tabs->addTab('Gifts')->add('CRUD')->setModel('Gift');
    }
}

Ниже приведен файл Gift.php в каталоге Model,

<?php
class Model_Gift extends Model_Table {
    function init(){
        parent::init();
        $this->addField('id');
        $this->addField('name')->type('text');
        $this->addField('url')->type('text');
    }
}

Теперь, когда я пытаюсь получить доступ к странице crud через http://localhost/atk4.1.2/?page=crud,, я вижу следующие ошибки,

Exception_InitError
You should define entity code for Model_Gift


C:\xampp\htdocs\atk4.1.2\atk4\lib\BaseException.php:37

Но в базе данных уже есть таблица с именем gift, и $this->dbConnect(); не комментируется в Frontend.php.

Я что-то здесь упускаю?

1 Ответ

1 голос
/ 18 октября 2011

Добавьте это к определению вашей модели:

public $enity_code='gift';

Это должно совпадать с именем вашей таблицы в SQL.

Другая ошибка, которую вы получаете о том, что init () не вызывается, это ошибка: https://github.com/atk4/atk4/issues/22

...