joomla中的内连接查询

时间:2012-04-27 12:06:41

标签: php mysql joomla

我想在我的joomla网站中触发一个复杂的查询。我已经为它写了下面的代码。

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('`chr`.`characteristic_id`,`chr`.`characteristic_value`,`prc`.`price_value`');
$query->from('`#___hikashop_product` AS `pdt`');
$query->join('inner', '`#__hikashop_variant` AS `vari` ON `pdt`.`product_id` = `vari`.`variant_characteristic_id`');
$query->join('inner', '`#__hikashop_characteristic` AS `chr` ON `vari`.`variant_characteristic_id` = `chr`.`characteristic_id`');
$query->join('inner', '`#__hikashop_price` AS `prc` ON `pdt`.`product_id` = `prc`.`price_product_id`');
$query->where('`pdt`.`product_id` = 68');
$db->setQuery($query);

查询正在我的本地mysql中执行。 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:5)

你可以试试这个

$db->setQuery("Your query");
$result = $db->query();

//if you need the count
$rowcount = $db->getNumRows();

//if the result is multiple rows
$result_array = $db->loadAssocList() or $db->loadObjectList();

//if the result is single row you can use
$result = $db->loadAssoc() or $db->loadObject();

答案 1 :(得分:3)

要触发查询,您只需要:

$rows = $db->loadAssocList(); // or loadObjectList()

以上内容将所有行都放入$rows

您也可以在不使用以下内容获取行的情况下触发查询:

$db->query();