first commit

This commit is contained in:
2025-08-02 16:30:27 +02:00
commit 23646bfcee
14851 changed files with 1750626 additions and 0 deletions

41
class/Query/Price.php Normal file
View File

@@ -0,0 +1,41 @@
<?php
/**
* Created by PhpStorm.
* User: filip
* Date: 5/16/16
* Time: 1:13 PM.
*/
namespace Query;
class Price
{
public static function selectRange($minAlias = 'min', $maxAlias = 'max')
{
return self::doSelectRange($minAlias, $maxAlias, 'COALESCE(pv.price, p.price)');
}
public static function selectProductRange($minAlias = 'min', $maxAlias = 'max')
{
return self::doSelectRange($minAlias, $maxAlias, 'p.price');
}
private static function doSelectRange($minAlias, $maxAlias, $priceField)
{
return function (QueryBuilder $qb) use ($minAlias, $maxAlias, $priceField) {
$select = Product::withVatAndDiscount($qb, $priceField);
$qb->joinVatsOnProducts();
$qb->andWhere("{$priceField} > 0");
return sprintf(
'min(%s) %s, max(%s) %s',
$select,
$minAlias,
$select,
$maxAlias
);
};
}
}