![](/img/trans.png)
[英]FatalErrorException Call to a member function diffForHumans() on string Laravel 5.4
[英]Call to a member function diffForHumans() on string in laravel 5.4
在我的laravel模型中
getTimeagoAttribute()
在此功能中,我嘗試獲取timeago值,例如當我在11:30發布評論時,現在時間是12:30意味着我想在評論附近顯示1小時前,並且我函數中的代碼是
public function getTimeagoAttribute()
{
$mytime = \Carbon\Carbon::now();
$date = $mytime->toDateTimeString()->diffForHumans();
return $date;
}
當我嘗試運行代碼時,向我顯示錯誤Call to a member function diffForHumans() on string
是實現我想要的這種正確方法,還是有其他方法可以實現這一點。
這就是我在刀片視圖中實現的方式
<span class="pull-right">{{$review->timeago}}</span>
請幫助我實現這一目標..
您應該這樣:
return \Carbon\Carbon::now()->diffForHumans();
$mytime->toDateTimeString()
將返回一個字符串,而不是Carbon
對象
假設您使用默認時間戳,則可以使用created_at
字段。
public function getTimeAgoAttribute()
{
return $this->created_at->diffForHumans();
}
像這樣使用
<span class="pull-right">{{ $review->timeAgo }}</span>
我認為您要做的是調用從模型更新/創建的時間,然后調用diffForHumans()函數,就像下面的代碼一樣:
MyPostModel::all()->first()->updated_at->diffForHumans();
使用以下代碼,
返回Carbon :: createFromTimestampUTC(strtotime($ date))-> diffForHumans();
function timeAgo($date) { return Carbon::createFromTimestampUTC(strtotime($date))->diffForHumans(); }
它與當前日期時間進行比較,並為您提供結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.