->registerRuntimeField('LOG', array(
'data_type'=> LogTable::class,
'join_type' => 'right',
'reference' => [
'=this.ID' => 'ref.ENTITY_ID',
'=ref.ENTITY' => new \Bitrix\Main\DB\SqlExpression('?', 'orderpart'),
]
))
//
->registerRuntimeField('LAST_LOG_ENTITY', [
'data_type'=>'integer',
'expression' => ['MAX(%s)', 'LOG.ID']
])
->where(
Query::filter()
->logic('or')
->whereNull('LAST_LOG_ENTITY')
->where('LOG.ID', '=', 'LAST_LOG_ENTITY')
)
->where(
Query::filter()
->logic('or')
->whereNull('LAST_LOG_ENTITY')
->where('LOG.ID', new \Bitrix\Main\DB\SqlExpression('%s', 'LAST_LOG_ENTITY'))
)
Увеличивай просмотры сервисом в контроллере.