Не правильно работает выборка(
Всем привет! Помогите разобраться, есть сайт, где нужно вывести ресурсы, где площадь <=20. Всё делаю по документации, но выводит почему-то ещё и офис со 150кв. м.
Вот линк
А вот сам вызов:
Вот log:
Вот линк
А вот сам вызов:
[[!pdoPage?
&parents=`5`
&depth=`1`
&hideContainers=`1`
&tpl=`office`
&tplPageWrapper=`pdopage`
&tplPage=`tplPage`
&tplPagePrevEmpty=`tplPagePrevEmpty`
&tplPageNextEmpty=`tplPageNextEmpty`
&limit=`20`
&select=`{"modResource":"id,content,parent"}`
&includeTVs=`metro,price,area,photo,line_metro`
&where=`{"area:<=":"20"}`
]]
[[!+page.nav]]
Пробовал через tvfilters, тоже самое.Вот log:
0.0002239: pdoTools loaded 0.0000610: xPDO query object created 0.0008681: Included list of tvs: <b>area, line_metro, metro, photo, price</b> 0.0004191: leftJoined <i>modTemplateVarResource</i> as <b>TVarea</b> 0.0003550: leftJoined <i>modTemplateVarResource</i> as <b>TVline_metro</b> 0.0003538: leftJoined <i>modTemplateVarResource</i> as <b>TVmetro</b> 0.0003490: leftJoined <i>modTemplateVarResource</i> as <b>TVphoto</b> 0.0003490: leftJoined <i>modTemplateVarResource</i> as <b>TVprice</b> 0.0002072: Added selection of <b>modResource</b>: <small>SQL_CALC_FOUND_ROWS `id`, `content`, `parent`</small> 0.0000129: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.area`</small> 0.0000100: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.line_metro`</small> 0.0000100: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.metro`</small> 0.0000091: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.photo`</small> 0.0000079: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.price`</small> 0.0000958: Replaced TV conditions 0.0010040: Processed additional conditions 0.0016360: Added where condition: <b>`TVarea`.`value`:<==20, modResource.parent:IN(5,15,26,31,16,18,44,45,46,47,48,49,50,39,40), modResource.published=1, modResource.deleted=0, modResource.isfolder=0</b> 0.0000432: Replaced TV conditions 0.0001719: Sorted by <b>modResource.publishedon</b>, <b>DESC</b> 0.0000060: Limited to <b>20</b>, offset <b>0</b> 0.0003989: SQL prepared <small>"SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`content`, `modResource`.`parent`, IFNULL(`TVarea`.`value`, '') AS `tv.area`, IFNULL(`TVline_metro`.`value`, '') AS `tv.line_metro`, IFNULL(`TVmetro`.`value`, '') AS `tv.metro`, IFNULL(`TVphoto`.`value`, '') AS `tv.photo`, IFNULL(`TVprice`.`value`, '') AS `tv.price` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVarea` ON `TVarea`.`contentid` = `modResource`.`id` AND `TVarea`.`tmplvarid` = 18 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVline_metro` ON `TVline_metro`.`contentid` = `modResource`.`id` AND `TVline_metro`.`tmplvarid` = 15 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVmetro` ON `TVmetro`.`contentid` = `modResource`.`id` AND `TVmetro`.`tmplvarid` = 1 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVphoto` ON `TVphoto`.`contentid` = `modResource`.`id` AND `TVphoto`.`tmplvarid` = 17 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVprice` ON `TVprice`.`contentid` = `modResource`.`id` AND `TVprice`.`tmplvarid` = 2 WHERE ( `TVarea`.`value` <= '20' AND `modResource`.`parent` IN (5,15,26,31,16,18,44,45,46,47,48,49,50,39,40) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 AND `modResource`.`isfolder` = 0 ) ORDER BY modResource.publishedon DESC LIMIT 20 "</small> 0.0013759: SQL executed 0.0000792: Total rows: <b>5</b> 0.0000238: Rows fetched 0.0082541: Prepared and processed TVs 0.0014770: Loaded chunk "office" 0.1540110: Returning processed chunks 0.1694491: <b>Total time</b> 8 912 896: <b>Memory usage</b>Странно, но через getResources заработало, но всё же хочется оставить pdoresources
Комментарии: 1
Попробуйте в другой параметр условие для ТВ прописать, &tvFilters. Читайте документацию к pdoResources, там написано как правильно он задаётся.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.