登録日: 2025-01-27   最終更新日: 2025-04-13
  • PHP
  • Laravel
  • MySQL

Laravel日付フォーマットエラー

Laravel の blade で日付フォーマットを指定した際以下のようなエラーが発生したのでメモとして残しておきます。

エラー内容

以下のようなエラーが発生した場合は、Model に定義を記述を追加し日付変換できるように変更します。
このエラーは、Laravel の blade(view)ファイル内で日付フォーマットしようとした項目が文字列( String )型として定義されていることが原因のエラーです。 その為、日付フォーマットを行いたい項目定義を変更する必要があります。

Call to a member function format() on string

Laravel の Blade 内の記述内容


<span>{{ $dbDatas->upddt->format('Y/m/d/') }}</span>

対処方法

Model 定義で、日付として認識させたい項目を $casts 定義に追記します。


<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Exsample extends Model
{
    use HasFactory;

    protected $table = 'exsample';
    protected $primaryKey = 'id';

    /**
     * カラムに関連付ける型
     *
     * @var array
     */
    protected $casts = [
        'upddt' => 'datetime',
    ];
}

Castsの型一覧

  • array
  • AsStringable::class
  • boolean
  • collection
  • date
  • datetime
  • immutable_date
  • immutable_datetime
  • decimal:
  • double
  • encrypted
  • encrypted:array
  • encrypted:collection
  • encrypted:object
  • float
  • integer
  • object
  • real
  • string
  • timestamp

<< 前のページに戻る

広告募集中|役立つ情報.net

記事

XAMPP をインストールする方法について

NEW

詳しくみる

Composer コマンドのインストールについて

NEW

詳しくみる

React プロジェクトの作成

NEW

詳しくみる

広告募集中|役立つ情報.net