Laravel在另一列中创建记录并使用ID值

时间:2016-08-01 13:26:57

标签: laravel laravel-5.2

当我在我的Fan模型中创建新记录时,在创建新Fan记录的同时,我想在另一列中使用新ID值。我试图一次完成这一切,没有其他方法可以返回并更新记录。

$fan = Fan::create([
    'display_name' => $displayName,
    'bio' => $bio,
    'logo_url' => $logoUrl,
    'algolia_id' => 'fan_'??, // I want to replace ?? with this record's ID value.
]);

我尝试过$ fan,但由于尚未创建该变量,因此无效。我不能使用Auth,因为ID不是Auth用户的ID。

谢谢!

1 个答案:

答案 0 :(得分:1)

我怀疑你能自动完成它,你应该分两步完成:

$fan = Fan::create([
    'display_name' => $displayName,
    'bio' => $bio,
    'logo_url' => $logoUrl
]);

$fan->algolia_id = 'fan_' + $fan->id;
$fan->save();

也就是说,这不是一个很棒的数据库设计,你需要在需要使用它时构建algolia_id字段,因为你要存储重复的值(id和除了algolia_id)之外,fan_是相同的。