在laravel迁移中,更改数据库列的排序规则不起作用

KRY*_*KRY 3 php mysql laravel laravel-5

我想about_me从" users"表中更改列" " 的排序规则.为此,我使用下面的代码.我只是将整理更改为utf8mb4_unicode_ci但代码不起作用.

 public function up()
    {
        if (Schema::hasColumn("users", "about_me")) {
            Schema::table("users", function(Blueprint $table) {
                $table->collation = 'utf8mb4_unicode_ci';
                $table->charset = 'utf8mb4';
            });
        }
 }
Run Code Online (Sandbox Code Playgroud)

我已经更改了/config/database.php,这有助于我将数据保存在db中但是在获取数据库后,我发现特殊符号没有显示,当我将该列的Collat​​ion更改为utf8mb4_unicode_ci时,它工作正常.但我想在迁移中实现它.当前的代码不起作用,我需要正确的代码才能正常工作.

Olu*_*ule 12

Laravel支持为MySQL修改每列的排序规则.对于表范围的修改,您需要编写原始查询.

public function up()
{

    DB::statement("ALTER TABLE users CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
}
Run Code Online (Sandbox Code Playgroud)