我想更改“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';
});
}
}
我已经在/config/database.php 中进行了更改,这有助于我将数据保存在 db 中,但是在获取数据库后,我发现没有显示特殊符号,当我将该列的排序规则更改为 utf8mb4_unicode_ci 时,它工作正常。但我想在迁移中做到这一点。当前代码不起作用,我需要运行良好的正确代码。
最佳答案
Laravel 支持修改 MySQL 的每列排序规则。对于表范围的修改,您需要编写原始查询。
public function up()
{
DB::statement("ALTER TABLE users CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
}
关于php - 更改数据库列的排序规则在 Laravel 迁移中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46587931/