lenvendo/orm-model

Библиотека, реализующая коллекции и модели ORM в виде объектов

1.0.2 2021-07-06 10:35 UTC

This package is auto-updated.

Last update: 2025-06-14 14:46:08 UTC


README

Библиотека реализует классы для представления данных ORM в объектной форме, а также классы коллекций данных объектов.

Примеры использования

<?php

use Lenvendo\OrmModel\AbstractEntity;
use Bitrix\Main;

class User extends AbstractEntity
{
    public static function getEntityClass(): string
    {
        return Main\UserTable::class;
    }

    public static function getFieldsSelection(): array
    {
        return ['*', 'UF_DEPARTMENT'];
    }

    public static function loadByLogin(string $login): self
    {
        return static::loadByCondition(['=LOGIN' => $login]);
    }

    public static function loadByEmail(string $email): self
    {
        return static::loadByCondition(['=EMAIL' => $email]);
    }

    public static function getUserObject(): \CUser
    {
        return $GLOBALS['USER'];
    }

    public function getName(): string
    {
        return $this->getField('NAME');
    }

    public function getLastName(): string
    {
        return $this->getField('LAST_NAME');
    }

    public function getEmail(): string
    {
        return $this->getField('EMAIL');
    }
}