web-dev-qa-db-fra.com

Utiliser du carbone sur Views Laravel

Je souhaite utiliser Carbon on Views en l'incluant en haut du fichier views, mais cela ne fonctionne pas, je le fais comme ça.

 <?php use carbon/carbon;?>
 @extends('main_layout')

      @foreach ($myquery as $mytask) 
                <tr>

                <td >
                 {{($mytask->firstname)}}
                </td>

                 <td >
                        {{($mytask->lastname)}}
                </td>
                    <td>
               {{($mytask->logon)}}
                    </td>

 @section('content')
 @stop

Je viens d'avoir des erreurs. Je veux convertir le {{($ mytask-> logon)}} au format lisible par l'homme à l'aide de carbone

14
jake balba

Je voudrais ajouter quelque chose en citant Laravel Documentation pour les utilisateurs de Google ajouter comment vous pouvez transformer vos champs de date/heure SQL en objets Carbon:

Dans votre modèle:

protected $dates = ['created_at', 'updated_at', 'disabled_at','mydate'];

Tous les champs présents sur ce tableau seront automatiquement accessibles dans vos vues avec des fonctions Carbon telles que:

{{ $article->mydate->diffForHumans() }}
26
Hammerbot

Vous n'avez pas besoin d'ajouter une déclaration d'utilisation pour carbone dans la vue. Assurez-vous simplement que $mytask->logon est bien un objet carbone et utilisez la méthode format() pour le transformer en chaîne.

{{ $mytask->logon->format('Y/m/d') }}

Modifier:

Si $mytask->logon est un objet carbone, utilisez: 

 {{ $mytask->logon->diffForHumans() }}

Si c'est toujours une chaîne, utilisez: 

{{  \Carbon\Carbon::createFromTimeStamp(strtotime($mytask->logon))->diffForHumans()‌​ }}

Je conseillerais de le faire dans le contrôleur ou dans un composeur de vues pour que votre vue reste nette. 

16
turntwo

Utilisation de la lame:

{{ \Carbon\Carbon::parse($mytask->logon)->diffForHumans() }}

Sortie: Pour une tâche d'il y a un jour

1 day ago

Plus pour Carbon lisible par Carbon vous pouvez lire - Différence de carbone pour les humains

3

Pour laravel 5 Notez que si vous avez besoin de faire des mutations personnalisées, insérez ceci dans votre modèle.

 /**
 * The string attribute that should be cast to custom carbon date.
 *
 * @var array
 */

public function getTimeAttribute()
{
     return Carbon::createFromTimestampUTC($this->attributes['time']/1000);
}

Ne vous inquiétez pas, vous pouvez toujours accéder à l'attribut d'origine.

    New = {{ $event->time }} Original = {{ $event->getOriginal('time')}}

J'espère que cela aidera quelqu'un qui ne peut pas utiliser le moyen standard mentionné.

1
Harry Bosh

Il suffit de copier le coller dans votre modèle

public function getCreatedAtAttribute($value)
{
    $date = new Carbon($value);
    return $date->toDayDateTimeString();
}

Et appelé ->created_at comme vous le faites normalement à votre avis.

N'oubliez pas d'utiliser le modèle de classe de carbone

0
Sherry