@kyja

Как сделать getList D7 к своей таблице?

Подскажите пожалуйста как сделать getList на D7 к своей таблице
Класс сгенерировал согласно документации
https://dev.1c-bitrix.ru/learning/course/index.php...

Получил
spoiler

<?php
namespace Bitrix\View;

use Bitrix\Main\Localization\Loc,
	Bitrix\Main\ORM\Data\DataManager,
	Bitrix\Main\ORM\Fields\IntegerField,
	Bitrix\Main\ORM\Fields\StringField,
	Bitrix\Main\ORM\Fields\Validators\LengthValidator;

Loc::loadMessages(__FILE__);

/**
 * Class SitemapTable
 * 
 * Fields:
 * <ul>
 * <li> url string(255) mandatory
 * <li> calc_cnt int optional
 * </ul>
 *
 * @package Bitrix\View
 **/

class SitemapTable extends DataManager
{
	/**
	 * Returns DB table name for entity.
	 *
	 * @return string
	 */
	public static function getTableName()
	{
		return 'materialized_view_sitemap';
	}

	/**
	 * Returns entity map definition.
	 *
	 * @return array
	 */
	public static function getMap()
	{
		return [
			new StringField(
				'url',
				[
					'primary' => true,
					'validation' => [__CLASS__, 'validateUrl'],
					'title' => Loc::getMessage('SITEMAP_ENTITY_URL_FIELD')
				]
			),
			new IntegerField(
				'calc_cnt',
				[
					'primary' => true,
					'title' => Loc::getMessage('SITEMAP_ENTITY_CALC_CNT_FIELD')
				]
			),
		];
	}

	/**
	 * Returns validators for url field.
	 *
	 * @return array
	 */
	public static function validateUrl()
	{
		return [
			new LengthValidator(null, 255),
		];
	}
}


Как к нему обратится ?

$select = [
    '*',
];
$my_table_1  = \Bitrix\View\SitemapTable::getList(
            [
            'select' => $select,
            'limit'  => 2,  
            ]
)->fetchAll();

Выдает Class 'Bitrix\View\SitemapTable' not found (0)
  • Вопрос задан
  • 168 просмотров
Решения вопроса 1
Добавьте класс в автозагрузку (на худой конец в init.php):
\Bitrix\Main\Loader::registerAutoLoadClasses(null, [
        'Bitrix\View\SitemapTable' => '/путь/к/файлу/класса.php'
    ]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы