Laravel 4 中有一个dateTime()函数可以帮助创建这些列。但在Schema\TableLaravel 3 中,我只看到一个date()函数,它是:
public function date($name)
{
return $this->column(__FUNCTION__, compact('name'));
}
Run Code Online (Sandbox Code Playgroud)
看起来它只是创建了一个 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.");
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用此函数创建 DATETIME 列?我该怎么办?在文档中找不到此信息。
:\
事实证明,宏是最近添加的(非常酷)功能,但这对我没有帮助。为了添加一个新列,实际上必须修改该类Schema\Table,然后在表列的MySQL 语法文件中添加一个新方法。宏只能帮助同时使用现有的表方法执行多项操作。
有趣的是,一旦我去了那里,实际上 Laravel 确实已经在你要求时创建了 列,而不是像我想象的那样简单的列。DATETIME->date()DATE
假设:啧啧。
| 归档时间: |
|
| 查看次数: |
4383 次 |
| 最近记录: |