问题描述:
最近开发新项目使用laravel5.5版本创建新的迁移文件的时候,发现comment针对字段注释,不能针对表注释如下图注释:$table->comment = '教练表';
不生效
原因:默认laravel是没有带添加表注释组件的,这里需要安装“/zedisdog/laravel-schema-extend”包.该组件包要求使用大于等于5.0版本的laravel
解决方法:
方法一:直接在创建表后通过DB修改表注释,代码如下:
public function up()
{
Schema::create('teachers', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->timestamps();
// $table->comment = '教练表';
});
$prefix = DB::getConfig('prefix');
DB::statement("ALTER TABLE `{$prefix}teachers` comment '教练表' ");
}
方法二:以下是实现 $table->comment = ’ 表注释 ’ 方法的步骤:
1、拉取组件:
composer require zedisdog/laravel-schema-extend
2、申明依赖
修改 config->app.php->aliases
'aliases' => [
...
// 'Schema' => Illuminate\Support\Facades\Schema::class,
'Schema' => Jialeo\LaravelSchemaExtend\Schema::class,
],
3、使用
默认创建的migration文件对应的“Schema”还是引用的laravel自带的,需要修改为该组件包的引用
//use Illuminate\Support\Facades\Schema;
use Jialeo\LaravelSchemaExtend\Schema;
调用示例 :
Schema::create('users', function (Blueprint $table) {
...
$table->comment = '用户表';
});