Как мы можем использовать углеродные диффорхуманы с массивом - PullRequest
1 голос
/ 11 мая 2019

Я использую свой пользовательский контроллер для возврата понравившихся ему документов, и он возвращается в массиве, а не в объекте, поэтому я хочу использовать углеродные диффоры с моим полем даты, как мы можем его использовать. Вот мой код контроллеров

public function myfavourites()
{
    // echo "This is myfavourites";
    $user_id = Auth::user()->id;
    // $liked_post =  Like::all()->where('user_id', $user_id);

    return view('user.myfavourites')->with('likes', Like::where('user_id', $user_id)->orderBy('created_at', 'DESC')->paginate(12));
}

и вот мой блейд-код

<h6 class="text-muted">Published <b>{{ $like->document['created_at']->diffForHumans() }}</b></h6>

здесь h6 находится в цикле foreach, где я зацикливаюсь, выбрасывая все понравившиеся документы пользователя.у меня есть отношение к моей модели, как к моей модели документа, вот моя функция отношения

public function document()
    {
        return $this->belongsTo('App\Document');
    }

Каково решение этой проблемы, либо я должен вернуть лайки в форме объекта, если да, то как?

1 Ответ

1 голос
/ 11 мая 2019

Вам нужно использовать класс Carbon, чтобы использовать diffForHumans (),

 <h6 class="text-muted">Published <b>{{ \Carbon\Carbon::parse($like->document['created_at'])->diffForHumans() }}</b></h6>

если это массив, вам нужно либо перебрать каждый элемент в массиве, либо использовать ключ для одного элемента

@foreach($like->document as $key => $value)
 <h6 class="text-muted">Published <b>{{ \Carbon\Carbon::parse($value['created_at'])->diffForHumans() }}</b></h6>
@endforeach

или с помощью одного ключа

<h6 class="text-muted">Published <b>{{ \Carbon\Carbon::parse($like->document[0]['created_at'])->diffForHumans() }}</b></h6>
...