有人可以解释一下,为什么在创建用户之后:$user = User::create([....]);
,如果我尝试获得$user->id
,它会在foreach()
循环中给我0而不是1(或实际值)? / p>
我不会使用迁移自动增加ID。相反,我是手动分配此ID,因此之后,我dd($user),
得到的ID为0。
但是在数据库中,它可以正确存储它。
还尝试对创建$user = User::create(['id' => 1,])
进行硬编码,但是如果我dd()
仍然获得id = 0。
foreach ($employees as $employee) {
$user = User::find($employee['id']);
if (!$user) {
$user = User::create([
'id' => $employee['id'],
'name' => $employee['name'],
]);
}
$date = date::create([
'date' => $employee['date'],
'start' => $employee['start'],
'leave' => $employee['leave'],
'user_id' => $user->id,
]);
}
当我'user_id' => $user->id,
时,其值应为1,但它的值为0。
PD:这是在第一个循环上发生的,此后它就起作用了(由于if条件)。