Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在非主键列上添加自动增量,但它们仍然是我要设置为主键的另一列_Php_Laravel - Fatal编程技术网

Php 如何在非主键列上添加自动增量,但它们仍然是我要设置为主键的另一列

Php 如何在非主键列上添加自动增量,但它们仍然是我要设置为主键的另一列,php,laravel,Php,Laravel,我正在为拉威尔的学校管理建立一个数据库。。我被困在students表中,我想在不自动递增的情况下将主键设置为“regu no”列,但仍然希望“id”列为自动递增,我尝试了“protected$primaryKey”和“public$incrementing”,但这些属性并不能解决问题 这样做之后,我的db仍然将“id”列作为主键 以下是一些屏幕截图: 型号: 表1/迁移: Xampp中的数据库: 将此添加到学生迁移文件的“向上”方法中 Schema::table('students', fu

我正在为拉威尔的学校管理建立一个数据库。。我被困在students表中,我想在不自动递增的情况下将主键设置为“regu no”列,但仍然希望“id”列为自动递增,我尝试了“protected$primaryKey”和“public$incrementing”,但这些属性并不能解决问题

这样做之后,我的db仍然将“id”列作为主键

以下是一些屏幕截图:

型号:

表1/迁移:

Xampp中的数据库:


将此添加到学生迁移文件的“向上”方法中

Schema::table('students', function(Blueprint $table) {

    // Remove the primary key
    $table->dropPrimary("id");

    // Set the actual primary key
    $table->primary(array("reg_no"));
});

你能为students表添加数据库迁移吗?对不起,我不明白,但我的问题中添加了迁移表和迁移到xampp PIC的数据库。仅供参考,你不需要将列名包装在数组中,因为Laravel会为你做这件事。此外,在将
id
列作为主键删除之前,您需要为其编制索引,否则将引发异常,因为自动递增列必须是
键。嗨,谢谢您的帮助,罗斯,我确实收到了您提到的这个错误,lol,因为我不知道如何编制索引。请举例说明如何为id列编制索引。我的桌子是“学生”。。。Thanks@waqarfazal92
$table->index('id')