%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.118.2.68 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/local/php_interface/lib/ORM/ |
Upload File : |
<?php namespace LocalLib\ORM; use Bitrix\Iblock\ElementTable; use Bitrix\Iblock\PropertyEnumerationTable; use Bitrix\Iblock\PropertyTable; use Bitrix\Main\ORM\Data\DataManager; use Bitrix\Main\ORM\Fields\FloatField; use Bitrix\Main\ORM\Fields\IntegerField; use Bitrix\Main\ORM\Fields\Relations\Reference; use Bitrix\Main\ORM\Fields\StringField; use Bitrix\Main\ORM\Fields\TextField; use Bitrix\Main\ORM\Fields\Validators\LengthValidator; use Bitrix\Main\ORM\Query\Join; /** * Class ElementPropertyTable * * Fields: * <ul> * <li> ID int mandatory * <li> IBLOCK_PROPERTY_ID int mandatory * <li> IBLOCK_ELEMENT_ID int mandatory * <li> VALUE text mandatory * <li> VALUE_TYPE enum ('text', 'html') optional default 'text' * <li> VALUE_ENUM int optional * <li> VALUE_NUM double optional * <li> DESCRIPTION string(255) optional * <li> IBLOCK_ELEMENT_ID reference to {@link \Bitrix\Iblock\IblockElementTable} * <li> IBLOCK_PROPERTY_ID reference to {@link \Bitrix\Iblock\IblockPropertyTable} * </ul> * * @package Bitrix\Iblock */ class ElementPropertyTable extends DataManager { /** * Returns DB table name for entity. * * @return string */ public static function getTableName() { return 'b_iblock_element_property'; } /** * Returns entity map definition. * * @return array */ public static function getMap() { return [ new IntegerField('ID', ['primary' => true, 'autocomplete' => true,]), new IntegerField('IBLOCK_PROPERTY_ID', ['required' => true,]), new IntegerField('IBLOCK_ELEMENT_ID', ['required' => true,]), new TextField('VALUE', ['required' => true,]), new StringField('VALUE_TYPE', ['values' => ['text', 'html'], 'default' => 'text',]), new IntegerField('VALUE_ENUM'), new FloatField( 'VALUE_NUM'), new StringField('DESCRIPTION', ['validation' => [__CLASS__, 'validateDescription'],]), new Reference( 'ENUM', PropertyEnumerationTable::class, Join::on('this.VALUE_ENUM', 'ref.ID') ), new Reference( 'ELEMENT', ElementTable::class, Join::on('this.IBLOCK_ELEMENT_ID', 'ref.ID') ), new Reference( 'PROPERTY', PropertyTable::class, ['=this.IBLOCK_PROPERTY_ID' => 'ref.ID'], ['join_type' => 'LEFT'] ), ]; } /** * Returns validators for DESCRIPTION field. * * @return array */ public static function validateDescription() { return [ new LengthValidator(null, 255), ]; } }