web-dev-qa-db-ja.com

Laravel 5.2アプリケーション全体でカーボンを使用する方法

すべてのビューとコントローラーにuse Carbon\Carbon;を追加せずにLaravel 5.2でCarbonを使用する方法..?

5
jahsen

Config /app.phpのalias配列に次の行を追加します。

'Carbon' => 'Carbon\Carbon'

そして、それを使用したいすべてのクラスにuse Carbon;を追加する必要があります。

15
zsolt.k

次の構造を使用して、モデル内のいくつかのフィールドを宣言できます。

protected $dates = ['created_at', 'updated_at', 'disabled_at','mydate'];

これらのフィールドはすべて自動的にCarbonインスタンスになり、次のようなビューで使用できるようになります。

{{ $article->mydate->diffForHumans() }}

これは私が少し前に提供した答えです ここ

そして ここ はLaravelそのためのドキュメントです

2
Hammerbot

これが私のhelpers.phpにあるものです

function myCarbon($date)
{
  return $date != '' ? \Carbon\Carbon::parse($date) : '-';
}

次に、任意のコントローラーとビューで:

myCarbon($model->field)->format('F d, Y');

そして私は通常mm/dd/yyyyおよびmm/dd/yyyy H:i私のブレードでは、ヘルパーファイルに次のものがあります。

function mydateFormat($date)
{
  return $date != '' ? myCarbon($date)->format('m/d/Y') : '-';
}

function mytimeFormat($date)
{
  return $date != '' ? myCarbon($date)->format('H:i') : '-';
}

function mydateTime($date)
{
  return $date != '' ? myCarbon($date)->format('m/d/Y H:i') : '-';
}

これで、このアプリケーション全体を任意のコントローラーとビューで使用できます。

(注:関数名はサンプルのみであり、実際に使用しているものではなく、必要に応じて変更してください)

0
kapitan