我有下面的数据库结构。
我有用户,一个用户有多个passport,所以我创建了一个关系,就像user hasMany passports和passport belongTo,在受人尊敬的模型中的用户。
当我更新用户详细信息时,输入2-3个护照号码,并尝试使用saveMany将数据保存在user_passport表中。主键id和user_id保存在数据库中,但通行证号码为空。下面是保存过程:
$user = $this->find($id);
$user->passports()->delete();
$new[] = new UserPassport(['passport' => '123456789', 'created_by' => $user->id, 'updated_by' => $user->id]);
$new[] = new UserPassport(['passport' => '111111111', 'created_by' => $user->id, 'updated_by' => $user->id]);
$user->passports()->saveMany($new);如果有人遇到同样的问题,请及时更新。
发布于 2016-05-05 15:25:35
有一种更简单的方法来完成你想要的东西。您可以简单地执行以下操作:
$user->passports()->delete();
$user->passports()->create(['passport' => '123456789', 'created_by' => $user->id, 'updated_by' => $user->id]);
$user->passports()->create(['passport' => '123456789', 'created_by' => $user->id, 'updated_by' => $user->id]);是的,这将运行单独的查询,但代码非常清晰和可读性。
https://stackoverflow.com/questions/37044352
复制相似问题