我遇到麻煩了解Laravel如何處理日期和碳。我有一個模型,它有一個名爲published_at(它是da DATE字段)的特殊字段。我希望laravel在保存實例對象時使用碳轉換該字段。Laravel 5:在數據庫中設置或獲取日期格式
這是我的模型:
<?php
namespace App;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
class Addon extends Model
{
// ...
protected $dates = [
'published_at'
];
// ....
/**
* Set the published_at date format
*
* @param $date
* @return string
*/
public function setPublishedAtAttribute($date)
{
$this->attributes['published_at'] = Carbon::createFromFormat('d/m/Y', $date);
}
// ....
}
所以,我的理解,published_at場現在應該保存爲使用d/M/Y格式的碳的實例。但是它會在數據庫中保存爲mm-dd-yyyy。最後,我不在乎它是如何保存到數據庫的,所以這就是爲什麼我想創建getPublishedAtAttribute
並以我想要的格式檢索它的原因。那也行不通。
所有我想要的是Laravel格式化d/m/Y。每當我展示它時,無需像{{ $addon->published_at->format('d/m/Y') }}
那樣做。
順便說一句:我想同樣的事情created_at
和updated_at
。任何想法我做錯了什麼?
Laravel版本:31年3月5日
MySQL以'YYYY-MM-DD'格式檢索並顯示DATE值。 您可以在模型中創建一個獲取器,該模型返回格式化的值,您希望它在視圖中顯示。 – trommelaap