2014-12-26 6 views
22

저는 Laravel 및 Blade 템플릿에서 상당히 새롭습니다.
아무에게도 어떻게 도와 줄 수 있습니까?Laravel에서 number_format 메서드 사용

@foreach ($Expenses as $Expense) 
    <tr> 
     <td>{{{ $Expense->type }}}</td> 
     <td>{{{ $Expense->narration }}}</td> 
     <td>{{{ $Expense->price }}}</td> 
     <td>{{{ $Expense->quantity }}}</td> 
     <td>{{{ $Expense->amount }}}</td>                
    </tr> 
@endforeach 

내가 $Expense->price$Expense->amount를 포맷 할 :

나는 이런 볼 수 있습니다.
$Expense->amountnumber_format($Expense->amount)으로 사용해 보았지만 작동하지 않았습니다.

+2

금액); ?>'이 하나의 옵션이됩니다. ' {{number_format ($ 비용 -> 금액, 2)}}'작동해야합니다 –

+0

둘 다 시도, 아무도 작동하지 않습니다 –

+0

그럼 마크 업에서 실제로 무엇을 볼 수 있습니까? –

답변

44

이 작동합니다 :

<td>{{ number_format($Expense->price, 2) }}</td> 
+0

여기에 typecasting을 살펴 봐야 할 수도 있습니다. 제대로 작동하도록하려면 https://stackoverflow.com/questions/6542403/number-format-causes-error-a-non-well-formed-numeric-value-encountered – nitigyan

5

당신이 당신의 모델 넣어에서, 설득력을 사용하는 경우 : 가격 특성을 얻을

public function getPriceAttribute($price) 
{ 
    return $this->attributes['price'] = sprintf('U$ %s', number_format($price, 2)); 
} 

데이터베이스에 당신의 분야이다. 무언가를. 당신이 설득력을 사용하는 경우

+2

개인적으로 이 대답을 사용하면 너무 많은 추상화없이 유연해야 할 경우'sprintf'를'App \ Localization \ Currency :: format ($ price)'과 같은 재사용 가능한 구성 요소로 옮길 것입니다. 그러나 어느 쪽이든 이것은 대답의 자리입니다 – ash

+0

이것은 받아 들여진 대답이어야합니다. 이것은 훨씬 더 나은 OOP 구현입니다. 받아 들여진 대답은 괜찮지 만 포맷팅을 위해 앱에서 변경된 사항이 있다면 조정을해야하는 악몽입니다. – zmonteca

3

최고의 솔루션입니다 :

public function getFormattedPriceAttribute() 
{ 
    return number_format($this->attributes['price'], 2); 
} 

그래서 지금 당신은 당신의 모델 된 formattedPrice을 추가해야합니다 그리고 당신과 된 formattedPrice (원래 상태로) 모두 가격을 사용할 수 있습니다.

관련 문제