Не работает leftJoin в pdoTools

Василий, привет!

Сейчас впервые начал работать с pdoTools и вот какая загвоздка — упорно не хотят джойниться таблицы, которые указаны в &leftJoin=``.

Т.е. я взял сниппет из коробки example.pdoFetch, вызвал его вот так:
[[!example.pdoFetch?
    &class=`modResource`
    &where=`{"published":1,"deleted":0}`
    &includeTVs=`price`
    &tpl=`myTpl`
    &return=`chunks`
    &sortby=`id, hidemenu`
    &leftJoin=`{"modResource":{"alias":"Parent","on":"Parent.id=modResource.parent"},"modUser":{"alias":"User","on":"User.id=modResource.createdby"},"modUserProfile":{"alias":"Profile","on":"Profile.internalKey=modResource.createdby"}}`
]]
Все параметры скопировал из параметров сниппета по умолчанию, даже не менял ничего. Хотя всё проверил, косяков в синтаксисе json-параметров нет.

Лог выдал вот это:
0.0001390: xPDO query object created
0.0007818: Added where condition: published=1, deleted=0
0.0089972: Included list of tvs: price.
0.0006070: leftJoined Parent as Parent
0.0004580: leftJoined User as User
0.0004430: leftJoined Profile as Profile
0.0008440: leftJoined modTemplateVarResource as TVprice
0.0005548: Added selection of modResource: 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`.`content`, `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`
0.0000381: Added selection of Parent: Parent.pagetitle as parent_pagetitle, Parent.uri as parent_uri
0.0000310: Added selection of User: username
0.0000319: Added selection of Profile: fullname, email
0.0000291: Added selection of TVprice: `TVprice`.`value` as `price`
0.0000229: Sorted by id, hidemenu, DESC. Limited to 10, offset 0
0.0006239: 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`.`content`, `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`, Parent.pagetitle as parent_pagetitle, Parent.uri as parent_uri, `username`, `fullname`, `email`, `TVprice`.`value` as `price` FROM `modx_do_dbsite_content` AS `modResource` LEFT JOIN `modx_do_dbsite_tmplvar_contentvalues` `TVprice` ON TVprice.contentid=modResource.id AND TVprice.tmplvarid=3 WHERE ( `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 ) ORDER BY id, hidemenu DESC LIMIT 10 „
0.0136017: Total time

Т.е. всё, что джойнилось через leftJoin — не присоединилось, а вот тэвэха — пожалуйста.

И getTickets не работает, потому что тоже не джойнит таблицы. Даже и не знаю, что и делать…
Помоги, пожалуйста, разобраться.

pdoTools последней 1.2.1 версии, код сниппета example.pdoFetch (его тоже не менял, привожу на всякий случай):
<?php
/**
 * The base pdoTools snippet.
 *
 * @var pdoFetch $pdoFetch
 * @package pdotools
 */
$pdoFetch = $modx->getService('pdofetch','pdoFetch',$modx->getOption('pdotools.core_path',null,$modx->getOption('core_path').'components/pdotools/').'model/pdotools/',$scriptProperties);
if (!($pdoFetch instanceof pdoFetch)) {return '';}

$pdoFetch->setConfig($scriptProperties);
$output = $pdoFetch->run();

if ($modx->user->hasSessionContext('mgr')) {
	$output .= print_r($pdoFetch->getTime(), 1);
}

return $output;
Алексей Карташов
07 мая 2013, 11:37
modx.pro
2 940
0

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

Алексей Карташов
07 мая 2013, 15:39
0
Опа, вёрстка споткнулась об закрывающий /pre
    Василий Наумкин
    07 мая 2013, 15:51
    0
    Ты по старому пишешь, так нельзя. нужно
    {"class":"modResource","alias":"Parent","on":"Parent.id=modResource.parent"}

    Опа, вёрстка споткнулась об закрывающий /pre
    Ну так отредактируй и убери его.
      Алексей Карташов
      07 мая 2013, 16:38
      0
      Спасибо, заработало!

      Блин, а вот getTickets так и не заводится :-(
      [[!getTickets?
          &tpl=`tpl.Tickets.list.row`
          &return=`chunks`
          &showUnpublished=`1`
          &showLog=`1`
          &parents=`6`
          &includeContent=`1`
          &showHidden=`1`
      ]]
      Если запрос из лога выполнить в базу напрямую, то выдача есть, а на странице, в месте вызова сниппета, ничего, кроме лога, не выводит.
      Чанк рабочий (через этот же чанк example.pdoFetch свои результаты выводил)…

      Уже блин и так, и сяк параметры набирал — без толку.

      Где я мог опять накосячить?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
6