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 回答