Laravel 8如何复制并获得新模型的id



我正在使用laravel,我想复制一些数据。所以我这样做了:

$id = $request->id;
$data = Setting::find($id);
$newSetting = $data->replicate()->save();

但是如何得到$newSettingid呢?为了保存这个回报是唯一正确的,我需要归还我的新id。我尝试用push代替save,但这也是正确的。我检查了文档,但我找不到它。

有人能帮帮我吗?

提前感谢。

你只需要:

$id = $request->id;
$data = Setting::find($id);
// now replicate data and save
$newData = $data->replicate();
//save the new data
$newData->save();
//get the new id
$newId = $newData->id;

可以这样做:

$id = $request->id;
$data = Setting::find($id);
// replicate
$replicatedData = $data->replicate();
// get convert the model collection to array
$arrayReplicatedData $replicatedData->toArray();
//save it with the create method
$newCreatedModel = Setting::create($arrayReplicatedData);
// Get the new id
$newId = $newCreatedModel->id;

最新更新