我有一个学校的学生数据库。比方说,例如,一名学生的学生ID是098-123-123。我希望学生编号成为主键。是否建议使用字符串而不是增量?我是否需要更改表格的结构并更改laravel中的默认增量('id')?这里最好的做法是什么?
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('privillege');
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
答案 0 :(得分:1)
我会保留自动增加ID,并为您自己的已编入索引且唯一的学生ID 098-123-123
使用其他列。然后创建一个范围,以便能够通过此学生ID快速搜索。
public function scopeFindByStudentId($query, $id)
{
$query->where('student_id', '=', $id);
}