0

フィクスチャロードを使用して、エンティティの日時フィールドに書き込みます。

実在物:

/** @ORM\Column(type="datetime", nullable=true) */
protected $date;

次の方法で日付を設定します。

    public function setDate($date='')
    {
        $fecha = new \DateTime($date);
        $fecha = $fecha->format('Y-m-d');
        $this->date = $fecha;
    }

dql-queryでグループの合計を取得するために、年、月、日のみを使用したいと思います。

フィクスチャロードを実装すると、次のエラーメッセージが表示されます。

致命的なエラー:format()44行目のC:\ xampp \ htdo cs \ brel \ vendor \ doctrine-dbal \ lib \ Doctrine \ DBAL \ Types\DateTimeType.phpにある非オブジェクトのメンバー関数を呼び出します

私はここで何が間違っているのですか?

4

1 に答える 1

4

Doctrineのdatetimeおよびdatetimeフィールドは、クラスプロパティが\ DateTime-instanceであり、フォーマットされた日付文字列ではないことを前提としています(フォーマットはDoctrine DBALのType-Mappingを介して行われます)。

カスタムタイプ(Doctrine DBAL-ドキュメントを参照)を作成するか、別のタイプ(文字列?)を使用することができます。

于 2012-10-03T08:49:59.310 に答える