使用 Laravel/Eloquent 从复制的行中检索对象

ame*_*ght 2 database object replicate laravel eloquent

我正在复制数据库行并希望将新行作为对象返回。

$new_foo = Foo::find($id)->replicate()->save();
print_r($new_foo);
Run Code Online (Sandbox Code Playgroud)

这将返回 1 而不是我刚刚创建的新对象。想法?

Lim*_*nte 5

在您的代码中,您实际上是在保存save()方法返回的值,而不是复制的模型。

您需要对代码稍作更改以将复制的模型保存到 $new_foo

$new_foo = Foo::find($id)->replicate();
$new_foo->save();
dd($new_foo);
Run Code Online (Sandbox Code Playgroud)

save()方法返回boolean.