Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Альбина Аралбаева
Альбина Аралбаева
Спасибо, нашла))
Еще пожалуйста подскажите какая функция (и где она находится) пересчитывает сумму заказа в корзине, при изменении количества в корзине? Надо чтобы изменялась цена от количества и количество должно быть кратно 100
Василий Наумкин
Василий Наумкин
Алексей Карташов
Алексей Карташов
Усё, вопрос решён.
Переделал запрос на такой:
SELECT  `msDiscountCard`.`id`,
		`msDiscountCard`.`uid`,
		`msDiscountCard`.`public`,
		`msDiscountCard`.`discount_id`,
		`msDiscountCard`.`amount`,
		`msDiscountCard`.`amount_used`,
		`msDiscountCardMember`.`user_id`,
		`msDiscountCardMember`.`owner_type`,
		`msDiscountCardMember`.`discount_card_id`
	FROM `modx_bunny_lovems2_discount_card` AS `msDiscountCard`
	LEFT JOIN `modx_bunny_lovems2_discount_card_members` AS `msDiscountCardMember`
	ON `msDiscountCardMember`.`discount_card_id` = (
		SELECT  `msDiscountCardMember`.`discount_card_id`
			FROM `modx_bunny_lovems2_discount_card_members` AS `msDiscountCardMember`
			WHERE `msDiscountCardMember`.`owner_type` = 'owner'
				AND `msDiscountCard`.`id` = `msDiscountCardMember`.`discount_card_id`
			LIMIT 1
	)

И собрал его на xPDO вот так:
$subquery = $modx->newQuery('msDiscountCardMember');
$subquery->select('`msDiscountCardMember`.`discount_card_id`');
$subquery->where(array(
	'`msDiscountCardMember`.`owner_type`' => 'owner',
	'`msDiscountCard`.`id` = `msDiscountCardMember`.`discount_card_id`'
));
$subquery->limit(1);
$query = $modx->newQuery('msDiscountCard');
$query->select('`msDiscountCard`.*, `msDiscountCardMember`.`user_id`');
if ($subquery->prepare()) {
	$query->leftJoin('msDiscountCardMember', 'msDiscountCardMember', array(
		'`msDiscountCardMember`.`discount_card_id` = ('. $subquery->toSQL() .')'
	));
}