2017-02-23 159 views
0

У меня есть массив дочерних элементов в родительском. Ниже приведен код, по которому он сформирован. Что вам нужно добавить или изменить массив сортировки по product_in_stock? (Первые детские товары в наличии)Как отсортировать массив дочерних элементов для столбца «product_in_stock». Virtuemart 3

Спасибо!

function getProductChilds ($product_id) { 
    if (empty($product_id)) { 
     return array(); 
    } 
    $db = JFactory::getDBO(); 
    $db->setQuery (
     'SELECT * FROM `#__virtuemart_products` p 
     LEFT JOIN `#__virtuemart_products_'.VMLANG.'` pl USING (`virtuemart_product_id`) 
     LEFT JOIN `#__virtuemart_product_medias` pm USING (`virtuemart_product_id`) 
     LEFT JOIN `#__virtuemart_medias` med USING (`virtuemart_media_id`) 
     LEFT JOIN `#__virtuemart_product_prices` pp USING (`virtuemart_product_id`) 
     WHERE `p`.`product_parent_id` = '. (int)$product_id . ' 
     GROUP BY `pm`.`virtuemart_product_id`' 
    ); 
    return $db->loadObjectList(); 
} 

ответ

0

Согласовано

function getProductChilds ($product_id) { 
 
if (empty($product_id)) { 
 
return array(); 
 
} 
 
$db = JFactory::getDBO(); 
 
$db->setQuery ('SELECT * FROM `#__virtuemart_products` p 
 
LEFT JOIN `#__virtuemart_products_'.VMLANG.'` pl USING (`virtuemart_product_id`) 
 
LEFT JOIN `#__virtuemart_product_medias` pm USING (`virtuemart_product_id`) 
 
LEFT JOIN `#__virtuemart_medias` med USING (`virtuemart_media_id`) 
 
LEFT JOIN `#__virtuemart_product_prices` pp USING (`virtuemart_product_id`) 
 
WHERE `p`.`product_parent_id` = '. (int)$product_id . ' 
 
GROUP BY `pm`.`virtuemart_product_id` ORDER BY p.`product_in_stock` DESC, `virtuemart_product_id` ASC'); 
 
return $db->loadObjectList(); 
 
}

или

function getProductChilds ($product_id) { 
 
if (empty($product_id)) { 
 
return array(); 
 
} 
 
$db = JFactory::getDBO(); 
 
$db->setQuery ('SELECT * FROM `#__virtuemart_products` p 
 
LEFT JOIN `#__virtuemart_products_'.VMLANG.'` pl USING (`virtuemart_product_id`) 
 
LEFT JOIN `#__virtuemart_product_medias` pm USING (`virtuemart_product_id`) 
 
LEFT JOIN `#__virtuemart_medias` med USING (`virtuemart_media_id`) 
 
LEFT JOIN `#__virtuemart_product_prices` pp USING (`virtuemart_product_id`) 
 
WHERE `p`.`product_parent_id` = '. (int)$product_id . ' 
 
GROUP BY `pm`.`virtuemart_product_id` ORDER BY product_in_stock DESC'); 
 
return $db->loadObjectList(); 
 
}