Вычисляемые поля ORM

Модуль расширенного управления меню для битрикс

Апрель 6, 2021

Теги: ORM, Хранение данных

Использование вычисляемых полей для выборки только необходимых данных, использование функций SQL в ORM запросах.

Примеры SQL функций, которые можно использовать в запросах: count, countDistinct, sum, min, avg, max, length, lower, upper, concat.

Выборка минимальной и максимальной даты рождения из таблицы пользователей:


$resultUserAge \Bitrix\Main\UserTable::getList(array(

    
'filter' => array('ACTIVE'=>'Y'),
    
'runtime' => array(new \Bitrix\Main\Entity\ExpressionField(
        
'MIN',
        
'MIN(%s)',
        [
'PERSONAL_BIRTHDAY']
    ),new 
\Bitrix\Main\Entity\ExpressionField(
        
'MAX',
        
'MAX(%s)',
        [
'PERSONAL_BIRTHDAY']
    )),
    
'select' => array('MIN','MAX'),
));
if(
$playerAge=$resultUserAge->fetch())
{
    
print_r($playerAge);
}
/*
Array
(
    [MIN] => Bitrix\Main\Type\Date Object
        (
            [value:protected] => DateTime Object
                (
                    [date] => 1901-04-06 00:00:00.000000
                    [timezone_type] => 3
                    [timezone] => Europe/Moscow
                )

        )

    [MAX] => Bitrix\Main\Type\Date Object
        (
            [value:protected] => DateTime Object
                (
                    [date] => 2021-03-24 00:00:00.000000
                    [timezone_type] => 3
                    [timezone] => Europe/Moscow
                )

        )

)
*/

← Переход к списку