Laravel 架构生成器,设置字段说明
Laravel Schema Builder, setting field description
是否可以使用 laravel 的架构构建器将 description/comment 添加到 sql 字段。就像在 drupal 中一样?
Descriptions / comments are not supported by the schema builder 并且将来可能不会。你必须回到 SQL:
假设您使用 MySQL
Schema::create('users', function(Blueprint $table){
$table->increments();
$table->text('username');
$table->text('password', 60);
});
DB::statement('ALTER TABLE `users` CHANGE `password` `password` VARCHAR(60) COMMENT 'password hash');
原来是可以加评论的,不过好像没有文档说明。 This Laracasts post 显示如何 – 通过在行尾添加 "comment" 属性。
以他们为例,
Schema::create('products', function(Blueprint $table)
{
$table->increments('id');
$table->string('product_name')->comment = "Product name column";
$table->timestamps();
});
}
事实证明——现在只是测试——你实际上可以为此使用更典型的函数语法,例如,
$table->string('product_name')->comment('Product name column');
...类似于设置 ->default(...)
或 ->nullable()
。为了保持一致性,有些人可能更喜欢这种风格。
这似乎在 Laravel 5 和使用 MySQL 时效果很好。这可能是最近的改进。
是否可以使用 laravel 的架构构建器将 description/comment 添加到 sql 字段。就像在 drupal 中一样?
Descriptions / comments are not supported by the schema builder 并且将来可能不会。你必须回到 SQL:
假设您使用 MySQL
Schema::create('users', function(Blueprint $table){
$table->increments();
$table->text('username');
$table->text('password', 60);
});
DB::statement('ALTER TABLE `users` CHANGE `password` `password` VARCHAR(60) COMMENT 'password hash');
原来是可以加评论的,不过好像没有文档说明。 This Laracasts post 显示如何 – 通过在行尾添加 "comment" 属性。
以他们为例,
Schema::create('products', function(Blueprint $table)
{
$table->increments('id');
$table->string('product_name')->comment = "Product name column";
$table->timestamps();
});
}
事实证明——现在只是测试——你实际上可以为此使用更典型的函数语法,例如,
$table->string('product_name')->comment('Product name column');
...类似于设置 ->default(...)
或 ->nullable()
。为了保持一致性,有些人可能更喜欢这种风格。
这似乎在 Laravel 5 和使用 MySQL 时效果很好。这可能是最近的改进。