通过迁移添加DATETIME列?我应该使用宏吗?

时间:2013-05-09 04:09:20

标签: laravel laravel-3

在Laravel 4中,有一个dateTime()函数可以帮助创建这些列。但是在Laravel 3的Schema\Table中,我只看到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列?我该怎么办呢?无法在文档中找到此信息。

1 个答案:

答案 0 :(得分:3)

:\

原来Macros是一个recently added(非常酷)功能,但这对我没有帮助。为了添加新列,实际上必须修改Schema\Table类,然后在MySQL grammars文件中为表列添加新方法。宏只能帮助您同时使用现有的表方法执行多项操作。

有趣的是,一旦我去了那里,当你要求DATETIME而不是简单的->date()列时,事实证明Laravel确实already makes DATE列思想。

假设:tut,tut。