Ошибка при работе со своим классом

Добрый день. Для хранения данных создал свои таблицы в базе ModX, с помощью MigX создал пакет и файл модели из существующей таблицы. При попытке добавления объекта — вываливается в 500 ошибку, не понимаю почему.

Сниппет:
<?php
$modx->addPackage('claims', MODX_BASE_PATH . 'core/components/claims/model/', 'claims_');
if (!isset($tplError)) {
    $tplError = 'tpl.error';
}
if (!isset($tplSuccess)) {
    $tplSuccess = 'tpl.success';
}

if (!empty($_POST)) {
    $name = trim($_POST['name']);

    if ($name == '') {
        $output = $modx->getChunk($tplError, array('error' => 'Не указано название'));
        return $output;
    }
    
    $mo = $modx->getObject('Mo', array(
       'name' => $name 
    ));
    if ($mo) {
        $output = $modx->getChunk($tplError, array('error' => 'Организация с таким названием уже существует'));
        $output .= $modx->getChunk('tpl.mo.form', array('name' => $name));
        return $output;
    }
    
    $mo = $modx->newObject('Mo', array(
        'name' => $name,
        'created_by' => $modx->user->id,
        'deleted' => 0
    ));
    $mo->save();
    
    $output = $modx->getChunk($tplSuccess, array('success' => 'Организация «'.$name.'» успешно создана'));
    $output .= $modx->getChunk('tpl.mo.created');
    return $output;
}

$output = $modx->getChunk('tpl.mo.form');
return $output;
Модель:
<?xml version="1.0" encoding="UTF-8"?>
<model package="claims" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
	<object class="Mo" table="mo" extends="xPDOSimpleObject">
		<field key="name" dbtype="varchar" precision="255" phptype="string" null="false" />
		<field key="created_by" dbtype="smallint" precision="6" phptype="integer" null="false" />
		<field key="deleted" dbtype="tinyint" precision="1" phptype="integer" null="false" />
		<field key="deleted_by" dbtype="smallint" precision="6" phptype="integer" null="false" />
		<field key="deleted_on" dbtype="timestamp" phptype="timestamp" null="false" default="CURRENT_TIMESTAMP" />
	</object>
</model>
Логи modx:
[2017-09-21 13:03:44] (ERROR @ /home/user/domains/domain.ru/public_html/subdomain/core/xpdo/xpdo.class.php: 644) Could not load class: Mo from mysql.mo.
[2017-09-21 13:03:44] (ERROR @ /home/user/domains/domain.ru/public_html/subdomain/core/xpdo/xpdo.class.php: 762) Mo::load() is not a valid static method.
[2017-09-21 13:03:44] (ERROR @ /home/user/domains/domain.ru/public_html/subdomain/core/xpdo/xpdo.class.php: 644) Could not load class: Mo from mysql.mo.
Логи сервера:
[Thu Sep 21 13:03:44.639120 2017] [:error] [pid 6216] [client 212.109.27.151:2568] PHP Fatal error: Call to a member function save() on null in /home/user/domains/domain.ru/public_html/subdomain/core/cache/includes/elements/modsnippet/50.include.cache.php on line 32, referer: subdomain.domain.ru/index.php?id=25
Александр
21 сентября 2017, 10:24
modx.pro
1 871
0

Комментарии: 6

Арсений
21 сентября 2017, 13:45
0
отключай куски кода и смотри в какой момент начнет отвечать
    Александр
    21 сентября 2017, 14:10
    0
    500 ошибка пропадает, если закомментировать строчку
    $mo->save();
    .
    Ошибки в логе ModX при этом остаются.
    Александр
    21 сентября 2017, 14:14
    0
    В директории пакета 'core/components/claims/' у меня только папка 'model/schema' с xml-схемой. Нужны ли для работы пакеты другие файлы?
      Володя
      21 сентября 2017, 14:18
      +1
      конечно, именно других файлов вам и не хватает, вам либо надо сгенерить мапу по вашей схеме, либо сразу создайте. Пример github.com/bezumkin/miniShop2/tree/master/core/components/minishop2/model/minishop2/mysql
        Александр
        21 сентября 2017, 14:34
        +1
        Спасибо. Вопрос решен нажатием кнопки «Parse schema» в MigX.
          Володя
          21 сентября 2017, 14:43
          +1
          Вопрос решен нажатием кнопки «Parse schema» в MigX.
          отлично, не знал таких подробностей про MigX.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6