欢迎各位兄弟 发布技术文章
这里的技术是共享的
在特定环境或许会碰到有些需要大小写区分的字符串字段,通过 Schema 生成的表默认是 utf8_unicode_ci,ci
是 Case Insensitive 的意思,所以 *_ci
结尾的都不区分大小写。我们可以在迁移中利用 Schema 来修改字符集。
修改字段:
Schema::create('codes', function (Blueprint $table) {
{
// ......
$table->string('key')->unique()->charset('utf8')->collation('utf8_bin');
// ......
});
或者修改表:
Schema::create('codes', function (Blueprint $table) {
$table->charset = 'utf8';
$table->collation = 'utf8_bin';
// ......
});
原生语句:
DB::statement("ALTER TABLE codes CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin");
来自 https://learnku.com/laravel/wikis/16247