你能帮我看一下基于型号货币的Laravel刀片中的格式数量数字吗?值存储为double和currency,如char(3)' usd
',' eur
',' czk
& #39;,' huf
' ...
项目必须以给定的货币格式显示:
| 1 | project A | $1,250.00 |
| 2 | project B | €6,000.00 |
| 3 | project C | 1,250.00CZK |
PHP money_format
使用区域设置,我希望在每行或每个项目页面中使用项目特定的货币。
答案 0 :(得分:0)
您可以实现自己的变换器,如下所示:
public function getRows(Request $request, CurrencyTransformer $transformer) {
// get data
$rows = Model::where('some', 'condition')->get()->toArray();
$data = $transformer->transformCollection($rows);
return view('some.view', compact('data'));
}
abstract class Transformer
{
public function transformCollection(array $items)
{
return array_map([$this, 'transform'], $items);
}
public abstract function transform($item);
}
class CurrencyTransformer extends Transformer
{
public function transform($item) {
switch($item['currency']) {
case "usd":
$item['value'] = "$" . $item['value'];
break;
...
}
return $item;
}
}