$query = $this->modx->newQuery('modResource');
$query->leftJoin('modTemplateVarResource', "price", array("modResource.id = price.contentid", "price.tmplvarid = 2"));
$query->where(array("price:>=" => 6000));
$query->prepare();
echo $query->toSql();
返回值:xPDO编译整数作为字符串
`modResource`.`context_key` AS `modResource_context_key`, `modResource`.`content_type` AS `modResource_content_type`, `modResource`.`uri` AS `modResource_uri`, `modResource`.`uri_override` AS `modResource_uri_override`, `modResource`.`hide_children_in_tree` AS `modResource_hide_children_in_tree`, `modResource`.`show_in_tree` AS `modResource_show_in_tree`, `modResource`.`properties` AS `modResource_properties`
FROM `modx_site_content` AS `modResource`
LEFT JOIN `modx_site_tmplvar_contentvalues` `price`
ON (modResource.id = price.contentid
AND price.tmplvarid = 2)
WHERE `modResource`.`price` >= '6000'
为什么整数报价?它应该被视为一个int。
有什么错有它作为字符串? –
如果你执行一个查询,你试图找到更大或更小的值按整数你wolud有错误的结果,如果你的价值将被引用 – user1713785
真的吗?你得到了什么特别错误的结果? (我希望你把'price'存储为int,否则* this *就是你的问题) –