“” SOLVED“对象在使用firstOrCreate创建后,在php中的ID为0,在DB中为正确的ID

问题描述 投票:0回答:1

i使用firstOrCreate雄辩的方法将对象保存到DB。代码:


        $card = Card::firstOrCreate(
            [
                'id' => $product->id
            ],
            [
                'foil' => $data->foil,
                'nonfoil' => $data->nonfoil,
                'oversized' => $data->oversized,
                'reserved' => $data->reserved,
                'booster' => $data->booster,
                'scryfallCollectorNumber' => $data->collector_number,
                'fullArt' => $data->full_art,
                'promo' => $data->promo,
                'story_spotlight' => $data->story_spotlight,
                'textless' => $data->textless,
            ]);
        \Debugbar::info($card->id);

例如,在DB中为10258,但在调试栏中为0

laravel eloquent
1个回答
1
投票

[已解决]

  1. 谢谢porloscerros

那是问题。我没有在模型中将增量设置为false。

public $incrementing = false;

  1. [dd($card->id);也给出0。

2。,4.仅在创建新行时发生。数据库中具有正确ID的ID,并且对象返回了0 ID。

© www.soinside.com 2019 - 2024. All rights reserved.