Php 如何在Laravel中使用insertGetId进行存储以使用不同的ID进行不同的插入
在数据库中,它是这样插入的:Php 如何在Laravel中使用insertGetId进行存储以使用不同的ID进行不同的插入,php,mysql,laravel,migration,Php,Mysql,Laravel,Migration,在数据库中,它是这样插入的: *Migration* Schema::create('test', function (Blueprint $table) { $table->integer('id')->unsigned(); $table->unsignedBigInteger('user_id'); $table->foreign('user_id')->references('
*Migration*
Schema::create('test', function (Blueprint $table) {
$table->integer('id')->unsigned();
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
});
*arrary to be inserted*
$myarray = [ ['user_id' => 1],['user_id' => 2], ['user_id' => 2], ];
foreach ($myarray as $key => $value) {
$id[] = Users::insertGetId(
['user_id' => $value['user_id']]
);
}
id user_id
0 1
0 1
0 2
0 1
0 1
0 2
但是当我第二次存储时,它又像这样存储了
id user_id
0 1
0 1
0 2
ID被复制,我想使用两个唯一的ID,如下所示:
*Migration*
Schema::create('test', function (Blueprint $table) {
$table->integer('id')->unsigned();
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
});
*arrary to be inserted*
$myarray = [ ['user_id' => 1],['user_id' => 2], ['user_id' => 2], ];
foreach ($myarray as $key => $value) {
$id[] = Users::insertGetId(
['user_id' => $value['user_id']]
);
}
id user_id
0 1
0 1
0 2
0 1
0 1
0 2