pdoResources where + Migx
        Можно ли как-то оптимизировать данный запрос? Не сильно нравится конструкция проверки в шаблоне с прогоном через foreach нужной строки Migx записи.
    
    
                                                                                
            {'Localizator' | snippet : [
        'snippet'      => 'pdoResources',
        'parents'      => 0,
        'level'        => 0,
        'limit'        => 0,
        'tvPrefix'     => '',
        'includeTVs'   => 'author_ru, author_en, team_role',
        'where'        => '{"template":4, "team_role.member_id:LIKE":"%'~$_modx->resource.id~'%"}',
        'tpl'          => '@INLINE
            {foreach $team_role as $key => $value}
                {if $team_role[$key].member_id == $_modx->resource.id ?}{var $role = $team_role[$key]}{continue}{/if}
            {/foreach}
            <span>{$role["role_"~$_modx->config.localizator_key]}<span/> — 
            <strong><a href="{$id | url | urlLang}">«{$pagetitle}»</a></strong>
            <span>{$_pls["author_"~$_modx->config.localizator_key]}</span>
            
        ',
]}    Комментарии: 8
                top            
                    
                Нет            
                    
                «Нет» — это ответ на вопрос из поста. Запрос оптимизировать не получится.            
                    
                Мне одному показалась странной запись?
                    "team_role.member_id:LIKE":"%'~$_modx->resource.id~'%"            
                Если ты на что то обратил внимание — это автоматически становится странным и важным. Конкретно в твоем случае еще и уязвимым )).            
                    
                Да нет, тут скорее проблема в построении запроса. Имеем набор данных
Это ведь не корректно. Но на данный момент у ТС скорее всего еще нет ресурсов с таким большим ID. Поэтому код до поры до времени работает так, как он и задумал.
                    21680, 21681, 21686, 21682, 31684, ...Что вернет запрос?WHERE member_id LIKE '%168%'21680, 21681, 21686, 31684Это ведь не корректно. Но на данный момент у ТС скорее всего еще нет ресурсов с таким большим ID. Поэтому код до поры до времени работает так, как он и задумал.
                К сожалению ничего друго-го не придумал. Можно конечно сделать через MIGXDb, чтобы не использовать LIKE, но пока нет на это времени. Возможно, со временем переделаю.            
                    
                Ну вот вы и сами ответили на свой вопрос
                    Можно ли как-то оптимизировать данный запрос? Не сильно нравится конструкция проверки в шаблоне с прогоном через foreach нужной строки Migx записи
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.