如何在laravel中生成唯一的学生id(例如2014-444-168)


How to generate unique student id (e.g 2014-444-168) in laravel

我正在创建一个招生系统,该系统应在提交表格时生成一个唯一的学生id。该唯一id不包含在表格字段中。相反,它将使用StudentController类中的store方法生成。请参阅下面的代码。

class StudentController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }
    public function store(StudentRequest $request)
    {
        $student = Student::create($request->all());
        $student->id_no = "12345669";
        $student->save();
        return redirect('index');
    }
}

如上所示,我想创建学生id。有人能建议完成上述任务的最佳实践吗?

这将是唯一的:

$student->id_no = date("Y").'-'.$student->id;

即使这样也将是独一无二的:

$student->id

因为它是自动递增的主键,不能重复。

您可以将字符串附加到$student->id并生成类似但唯一的值。就像你在大学里发现的一样。