在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列?我该怎么办呢?无法在文档中找到此信息。
答案 0 :(得分:3)
:\
原来Macros是一个recently added(非常酷)功能,但这对我没有帮助。为了添加新列,实际上必须修改Schema\Table
类,然后在MySQL grammars文件中为表列添加新方法。宏只能帮助您同时使用现有的表方法执行多项操作。
有趣的是,一旦我去了那里,当你要求DATETIME
而不是简单的->date()
列时,事实证明Laravel确实already makes DATE
列思想。
假设:tut,tut。