4

Laravel 4 にdateTime()は、これらの列の作成に役立つ関数があります。しかし、Schema\TableLaravel 3 では、次のdate()関数しか表示されません。

public function date($name)
{
    return $this->column(__FUNCTION__, compact('name'));
}

DATE 列を作成するだけのようです。ただし、次の魔法の関数があることもわかります。

public function __call($method, $parameters)
{
    if (isset(static::$macros[$method]))
    {
        array_unshift($parameters, $this);
        return call_user_func_array(static::$macros[$method], $parameters);
    }

    throw new \Exception("Method [$method] does not exist.");
}

この関数を使用して DATETIME 列を作成する方法はありますか? どうすればいいですか?ドキュメントでこの情報を見つけることができませんでした。

4

1 に答える 1

3

:\

マクロは最近追加された(非常にクールな) 機能であることが判明しましたが、これは役に立ちませんでした。新しい列を追加するには、実際にはSchema\Tableクラスを変更してから、テーブル列のMySQL 文法ファイルに新しいメソッドを追加する必要があります。マクロは、既存のテーブル メソッドで一度に複数のことを行う場合にのみ役立ちます。

おかしなことに、私がそこに行ってみると、Laravel は、私が思っていたような単純な列ではなく、を要求すると既に DATETIME列を作成していることが実際にわかりました。->date()DATE

仮定: ツッ、ツッ。

于 2013-05-09T07:58:26.340 に答える