2016-12-15 34 views
2

我該死的困惑laravel.In的format()功能某些刀片format()在user.blade工作fine.But只能當我添加下面的函數laravel格式()的一些葉片功能只工作

public function getDates() 
{ 
    return array('created_at', 'updated_at', 'deleted_at', 'last_login_at'); 
} 

user.blade

<td>{{ $user->created_at->format('d/m/Y')}}</td> 

,並在我的活動葉片不能正常工作,甚至getDates()功能added.what背後的原因是什麼?提前致謝。

錯誤=對字符串調用一個成員函數的格式()(查看: C:\的Inetpub \ wwwroot的\的OData \資源\意見\活動\ list.blade.php)

+0

你正在得到什麼錯誤?格式函數在哪裏?你在哪裏添加'getDates'? – C2486

+0

我更新我的問題。請檢查問題。 –

回答

2

它給你錯誤,因爲format()是碳的功能。

在刀片中使用以下代碼。

{{\Carbon\Carbon::parse($user->created_at)->format('d/m/Y')}} 

要了解更多關於碳訪問http://carbon.nesbot.com/docs/

+0

好吧解決了。購買爲什麼不在其他刀片文件上顯示錯誤? –

+0

其他刀片文件可能會獲取碳對象的日期,因此可以直接調用format()函數而不必將其轉換爲碳對象 –

1

你不需要覆蓋getDates()功能。只需添加列到$dates變量:

protected $dates = ['deleted_at', 'last_login_at']; 

當你這樣做,Laravel將建立碳實例這些日期,這樣你就可以使用format()等funtions。

+0

我將你的代碼添加到我的user.blade中,並刪除getDates.its done.but在我的其他刀片中沒有getDates或$日期它的工作方式如何?並仍然在活動刀片的字符串中顯示Error = Call成員函數格式()。 –

+0

@Alfizamalek你不應該把它添加到視圖中,你應該將它添加到模型中。當你看到錯誤時,這意味着Laravel沒有用Carbon解析日期。它只爲'created_at'和'updated_at'列自動執行。 –