用户创建给我不正确的ID值

时间:2019-01-14 05:51:59

标签: php laravel

有人可以解释一下,为什么在创建用户之后:$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条件)。

0 个答案:

没有答案