Utilisation de la méthode de format numérique dans Laravel

Je suis assez nouveau dans Laravel et Blade templating.
Quelqu'un peut-il aider à me montrer comment faire cela?

Je l'ai vue comme ceci:

@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

Je veux que les $Expense->price et$Expense->amount soient formatés.
J'ai essayé de l'utiliser sur le $Expense->amount comme number_format($Expense->amount) mais cela n'a pas fonctionné.

23
demandé sur Joaquin Marcher 2014-12-26 03:25:22

3 réponses

Cela devrait fonctionner :

<td>{{ number_format($Expense->price, 2) }}</td>
53
répondu teeyo 2014-12-26 18:23:02

Si vous utilisez Eloquent, mettez dans votre modèle:

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

Où getPrixAttribut est votre domaine sur la base de données. obtenir quelque chose attribut.

6
répondu Jonathan Borges 2016-03-31 17:58:07

Si vous utilisez Eloquent, la meilleure solution est:

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

Maintenant, vous devez ajouter formattedPrice dans votre modèle et vous pouvez utiliser à la fois price (à son état d'origine) et formattedPrice.

4
répondu Joaquin Marcher 2017-05-10 16:29:38