我有产品表,有 2 个字段:价格、货币。货币字段中的可能值为 1、2、3。1 代表 MDL,2 代表美元,3 代表欧元。我必须按 mdl 货币的价格对我的产品进行分类。所以我有一个带有费率的数组:
$v = array(1,11.38,15.8);
请帮助我的查询,我尝试过这样的事情,但我遇到了错误:
$results = $this->Product
->query("SELECT `id`,`price`,`currency` FROM products
ORDER BY price*$v[currency] DESC");
嗯...我会尝试通过一个例子来解释。
我的桌子:
id|price|currency
_________________
1 | 500 | 2
2 | 300 | 3
它显示第一个产品价格以美元保存,第二个产品价格以欧元保存。但我必须在 MDL 值中对它们进行排序。所以我得到了每个值的一系列费率:
$rates = array([1] = > 1, [2] => 11.50, [3] => 15.50);
所以我必须通过公式的结果订购我的产品:price*value rate
在第一种情况下:500*$rates['currency value from db, in our case 2] = 500 * 11.50
等
提前致谢。