商品の表があり、価格、通貨の2つのフィールドがあります。通貨フィールドで可能な値は1、2、3です。MDLの場合は1、USDの場合は2、EURの場合は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
これは、最初の製品の価格がUSDで保存され、2番目の製品の価格がEURで保存されていることを示しています。しかし、私はそれらをMDLvaluteでソートする必要があります。だから私は各値のレートの配列を取得します:
$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
など。
前もって感謝します。