pdoResources load models. Корректное подключение

Здравствуйте!

Пытаюсь подключить модель компонента AssetManager в pdoResources для рандомной сортировки по изображениям. Использую следующий код:
[[pdoResources?
                            &parents=`0`
                            &depth=`1`
                            &tpl=`serviceRowTpl`
                            &templates=`6`
                            &loadModels=`assman`
                            &sortby=`FIELD(assman.asset_id,RAND())`
                            &showLog=`1`
                        ]]
Вывоод лога:
0.0002120: pdoTools loaded
0.0003130: Loaded model «assman» from "/core/components/assman/model/"
0.0000498: xPDO query object created
0.0005441: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000281: Processed additional conditions
0.0004330: Added where condition: modResource.template:IN(6), modResource.published=1, modResource.deleted=0
0.0001130: Sorted by FIELD(assman.asset_id,RAND()), DESC
0.0000050: Limited to 10, offset 0
0.0003059: SQL prepared «SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties` FROM `modx_site_content` AS `modResource` WHERE ( `modResource`.`template` IN (6) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 ) ORDER BY FIELD(assman.asset_id,RAND()) DESC LIMIT 10 „
0.0005021:Could not process query, error #1054: Unknown column 'assman.asset_id' in 'order clause'
0.0026550: Total time
14 942 208: Memory usage


Подскажите пожалуйста, как корректно использовать загрузку модели, чтобы оно находило это поле?
Пробовал использовать Leftjoin в pdoresources на основании этого запроса:
&leftJoin=`{
		"120x90": {
			"class":"msResourceFile"
			,"alias":"120x90"
			, "on": "120x90.resource_id = modResource.id AND 120x90.path LIKE '%/120x90/' AND 120x90.rank=0"
		}
, но не разобрался как задать корректную структуру для моего случая (какой класс задавать, к примеру).

Буду благодарен за помощь!
Игорь Козлов
27 июля 2014, 21:09
modx.pro
3 486
0

Комментарии: 6

Василий Наумкин
28 июля 2014, 06:24
0
Модель загружена
0.0003130: Loaded model «assman» from "/core/components/assman/model/"

Класс для join нужно смотреть в схеме модели компонента. В данном случае это Asset.
    Игорь Козлов
    29 июля 2014, 17:02
    0
    Спасибо!
    Попробовал использовать следующий класс (PageAsset), но не получилось подключить ни тот ни тот — все-равно не видит колонки в сортировке…
    [[pdoResources?
                                &parents=`0`
                                &depth=`1`
                                &tpl=`serviceRowTpl`
                                &templates=`6`
                                &loadModels=`assman`
                                &sortby=`FIELD(PageAsset.asset_id,RAND())`
                                &leftJoin=`{
                        		"120x90": {
                        			"class":"PageAsset"
                        			,"alias":"120x90"
                        			, "on": "PageAsset.page_id = modResource.id"
                        		}`
                                &showLog=`1`
                            ]]
    0.0006289: Could not process query, error #1054: Unknown column 'PageAsset.asset_id' in 'order clause'
    Да, с алиасами 120х90 не разобрался…
    Можете подсказатЬ, что я не правильно делаю?
      Василий Наумкин
      29 июля 2014, 17:09
      0
      Веришь — нет, но у меня нет никакого желания разбираться с чужой галерей, когда есть своя собственная.

      Ты вообще в лог-то посмотри, мне кажется ты modResource выбираешь, потому что не указал
      &class=`PageAsset`
        Игорь Козлов
        24 августа 2014, 20:05
        0
        Василий, подскажите, а можно ли в pdoResources установить другой table Prefix при выборке?
        Просто при загрузке модели тянется с префиксом «modx_», а у данной таблицы нет префикса…
        Stepan
        13 июня 2021, 10:20
        0
        при таком раскладе не загружается класс
        modResource
        
        ```
        0.0011110: Could not process query, error #1054: Unknown column 'modResource.id' in 'field list'
        ```
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6