use*_*708 5 php naming-conventions laravel-5
我只是想知道为什么laravel中的模式构建器会自动将所有camel case转换为表命名中的小写
例如
Schema::create('myTable', function(Blueprint $table)
{
....
});
Run Code Online (Sandbox Code Playgroud)
它创建tablename:mytable
这是为什么?那是laravel的惯例吗?我没有在laravel docs Schema Builder页面中看到它.
谢谢
在表名和字段名中使用蛇形大小写是一种常见的做法,它不仅与 Laravel 有关,而且大多数人都遵循此约定。在Laravel旧的(4x)文档中,提到了:
请注意,我们没有告诉 Eloquent 哪个表用于我们的用户模型。除非显式指定另一个名称,否则类的小写复数名称将用作表名称。因此,在这种情况下,Eloquent 将假设 User 模型将记录存储在 users 表中。您可以通过在模型上定义表属性来指定自定义表:
class User extends Eloquent {
protected $table = 'my_users';
}
Run Code Online (Sandbox Code Playgroud)
所以,是的,在很多地方Laravel使用strtolower函数,这可能更好地遵循通用约定,它被 ( my_table) 称为snake case.
| 归档时间: |
|
| 查看次数: |
835 次 |
| 最近记录: |