2016-02-18 3 views
1

Я использую систему вознаграждения на своем сайте, и я хочу награждать значки пользователям, которые были зарегистрированы в течение месяца, а затем годы на моем Веб-сайт. Как я могу сделать это в Laravel 5.2? У меня уже есть created_at в моей таблице users.Необходимо проверить, как долго пользователь был зарегистрирован на моем сайте Laravel 5.2

My users table

********** EDIT *****************

Ok так что мне нужно, чтобы отобразить, что в вид, подобный этому:

  @if ($user->difference <= 30) 
       <img src="{{ ShowSignedUpFor30days }}" class="ui small circular image" id="Badge"> 
      @else 

      @endif 

      @if ($user->difference <= 30) 
       <img src="{{ ShowSignedUpFor300days }}" class="ui small circular image" id="Badge"> 
      @else 

      @endif 

ответ

1

Как видно из таблицы вы можете использовать created_at поле, чтобы узнать, когда создается пользователь.

Вы можете создать функцию, аналогичную этой модели пользователя, для создания значков. (Не тестировалось)

public function userSinceInDays(){ 

    $created = $this->created_at; 
    $now = Carbon::now(); 
    $difference = $created->diff($now)->days; 

    return $difference; 

} 

Вы можете получить доступ к

@if ($user->userSinceInDays() <= 30) 
    <img src="{{ ShowSignedUpFor30days }}" class="ui small circular image" id="Badge"> 
@endif 

@if ($user->userSinceInDays() >= 300) 
    <img src="{{ ShowSignedUpFor300days }}" class="ui small circular image" id="Badge"> 
@endif 
+0

Просто отредактировал мой ответ. В этом случае вы можете избавиться от оператора switch и вернуть значение. –